Kaydet (Commit) 7c4f2ec8 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Simplify install name handling for external libraries on Mac OS X

...by allowing our special @___... tokens anywhere within an install name,
so that external modules can configure --prefix=/@___... etc.  This removes
the need for the special extshl and EXTRPATH=LOADER.  Also, a new
OUT2BIN_NONE can be used for external modules where the generated libraries
need the default EXTRPATH=OOO, but generated executables are only used
during the build and such need RPATH=NONE.
üst 8c9823d3
......@@ -101,7 +101,9 @@ CONFIGURE_FLAGS+= --disable-shared
CONFIGURE_FLAGS+= --enable-shared
.ENDIF
.IF "$(OS)"=="MACOSX"
CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH) \
CPPFLAGS="$(EXTRA_CDEFS)"
.ENDIF
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
......
......@@ -241,6 +241,10 @@ CONFIGURE_FLAGS+=CFLAGS="-I$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/inc $(cairo_CFLAG
CONFIGURE_FLAGS+=png_CFLAGS="-I$(SOLARINCDIR)$/external$/libpng" png_LIBS="-L$(SOLARLIBDIR) -lpng"
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
OUT2INC+=cairo-version.h \
src$/cairo-deprecated.h \
......@@ -250,7 +254,6 @@ OUT2INC+=cairo-version.h \
src$/cairo.h
.IF "$(OS)"=="MACOSX"
EXTRPATH=LOADER
OUT2LIB+=src$/.libs$/libcairo*.dylib
.ELIF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
......
......@@ -145,7 +145,12 @@ CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)"
CONFIGURE_FLAGS+=--disable-arm-simd --disable-arm-neon --disable-arm-iwmmxt
.ENDIF
.ELIF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
......
......@@ -189,6 +189,8 @@ OUT2BIN = ooo-install/bin/DllPlugInTester
.IF "$(OS)" == "MACOSX"
OUT2LIB = ooo-install/lib/libcppunit-1.12.1.dylib
EXTRPATH = NONE
PACKAGE_DIR = \
$(MISC)/@.__________________________________________________$(EXTRPATH)
.ELIF "$(OS)" == "AIX"
OUT2LIB = ooo-install/lib/libcppunit-1.12.a
.ELIF "$(OS)" == "OPENBSD"
......
......@@ -89,6 +89,11 @@ CONFIGURE_FLAGS=--disable-static
.ENDIF
CONFIGURE_FLAGS+= --without-ssl --without-libidn --enable-ftp --enable-ipv6 --enable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --without-libssh2 CPPFLAGS="$(curl_CFLAGS)" LDFLAGS="$(curl_LDFLAGS)"
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......
......@@ -42,9 +42,13 @@ PATCH_FILES=epm-3.7.patch
.IF "$(GUI)"=="UNX" && "$(BUILD_EPM)" != "NO"
EXTRPATH = NONE
CONFIGURE_ACTION=.$/configure
CONFIGURE_FLAGS=--disable-fltk
.IF "$(OS)"=="MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.IF "$(EXTRA_CFLAGS)"!=""
CONFIGURE_FLAGS+=CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(EXTRA_LINKFLAGS)" CPP="gcc -E $(EXTRA_CFLAGS)"
.ENDIF # "$(EXTRA_CFLAGS)"!=""
......
......@@ -60,7 +60,7 @@ CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
CPPFLAGS="$(EXTRA_CDEFS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/libpng -I$(SOLARINCDIR)/external/jpeg" \
CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" \
LDFLAGS="$(EXTRA_LINKFLAGS) -L$(SOLARLIBDIR) -lgobject-2.0 -lgio-2.0 -lgthread-2.0 -lgmodule-2.0 -lglib-2.0" \
--prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \
--prefix=/@.__________________________________________________$(EXTRPATH) \
--disable-nls \
--disable-modules \
--with-included-loaders=ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm,qtif,bmp,gif,ico,jpeg \
......@@ -72,8 +72,7 @@ CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) gio_can_sniff
BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE)
BUILD_DIR=$(CONFIGURE_DIR)
EXTRPATH=LOADER
OUT2LIB+=gdk-pixbuf/.libs/libgdk_pixbuf-2.0.0.dylib
OUT2INC+=gdk-pixbuf/gdk-pixbuf-animation.h
......
......@@ -54,7 +54,7 @@ PATCH_FILES=gettext-0.18.1.1.stpncpy.patch
.IF "$(OS)"=="MACOSX"
CONFIGURE_DIR=
CONFIGURE_ACTION=./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules)
CONFIGURE_ACTION=./configure --prefix=/@.__________________________________________________$(EXTRPATH) $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules)
CONFIGURE_FLAGS=--disable-dependeny-tracking --disable-acl --disable-curses --without-emacs --without-git --disable-java
CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" CXXFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)"
......@@ -65,7 +65,6 @@ CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
BUILD_ACTION=$(GNUMAKE)
BUILD_DIR=$(CONFIGURE_DIR)
EXTRPATH=LOADER
OUT2LIB+=gettext-tools/intl/.libs/libintl.*.dylib
OUT2LIB+=gettext-runtime/libasprintf/.libs/libasprintf.*.dylib
OUT2LIB+=gettext-tools/gnulib-lib/.libs/libgettextlib-*.dylib
......@@ -76,22 +75,22 @@ OUT2INC+=gettext-tools/intl/libintl.h
OUT2INC+=gettext-runtime/libasprintf/autosprintf.h
OUT2INC+=gettext-tools/libgettextpo/gettext-po.h
OUT2BIN+=gettext-tools/src/.libs/msgattrib
OUT2BIN+=gettext-tools/src/.libs/msgcat
OUT2BIN+=gettext-tools/src/.libs/msgcmp
OUT2BIN+=gettext-tools/src/.libs/msgcomm
OUT2BIN+=gettext-tools/src/.libs/msgconv
OUT2BIN+=gettext-tools/src/.libs/msgen
OUT2BIN+=gettext-tools/src/.libs/msgexec
OUT2BIN+=gettext-tools/src/.libs/msgfilter
OUT2BIN+=gettext-tools/src/.libs/msgfmt
OUT2BIN+=gettext-tools/src/.libs/msggrep
OUT2BIN+=gettext-tools/src/.libs/msginit
OUT2BIN+=gettext-tools/src/.libs/msgmerge
OUT2BIN+=gettext-tools/src/.libs/msgunfmt
OUT2BIN+=gettext-tools/src/.libs/msguniq
OUT2BIN+=gettext-tools/src/.libs/urlget
OUT2BIN+=gettext-tools/src/.libs/xgettext
OUT2BIN_NONE+=gettext-tools/src/.libs/msgattrib
OUT2BIN_NONE+=gettext-tools/src/.libs/msgcat
OUT2BIN_NONE+=gettext-tools/src/.libs/msgcmp
OUT2BIN_NONE+=gettext-tools/src/.libs/msgcomm
OUT2BIN_NONE+=gettext-tools/src/.libs/msgconv
OUT2BIN_NONE+=gettext-tools/src/.libs/msgen
OUT2BIN_NONE+=gettext-tools/src/.libs/msgexec
OUT2BIN_NONE+=gettext-tools/src/.libs/msgfilter
OUT2BIN_NONE+=gettext-tools/src/.libs/msgfmt
OUT2BIN_NONE+=gettext-tools/src/.libs/msggrep
OUT2BIN_NONE+=gettext-tools/src/.libs/msginit
OUT2BIN_NONE+=gettext-tools/src/.libs/msgmerge
OUT2BIN_NONE+=gettext-tools/src/.libs/msgunfmt
OUT2BIN_NONE+=gettext-tools/src/.libs/msguniq
OUT2BIN_NONE+=gettext-tools/src/.libs/urlget
OUT2BIN_NONE+=gettext-tools/src/.libs/xgettext
.ELIF "$(OS)"=="IOS"
......
......@@ -73,7 +73,13 @@ CONFIGURE_FLAGS+= \
ac_cv_func__NSGetEnviron=yes
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.ELSE
CONFIGURE_FLAGS+=--prefix=$(SRC_ROOT)$/$(PRJNAME)$/$(MISC)
.END
CONFIGURE_FLAGS+=--disable-fam
CONFIGURE_FLAGS+=CPPFLAGS="$(ARCH_FLAGS) $(EXTRA_CDEFS) -DBUILD_OS_APPLEOSX"
CONFIGURE_FLAGS+=CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)$/external"
......@@ -93,8 +99,6 @@ BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) $(VFLAG) -j$(MAXPROCESS)
.IF "$(OS)"!="IOS"
EXTRPATH=LOADER
.IF "$(OS)" == "MACOSX"
my_ext = .0$(DLLPOST)
.ELSE
......@@ -107,9 +111,9 @@ OUT2LIB+=gmodule/.libs/libgmodule-2.0$(my_ext)
OUT2LIB+=gobject/.libs/libgobject-2.0$(my_ext)
OUT2LIB+=gthread/.libs/libgthread-2.0$(my_ext)
OUT2BIN+=gobject/glib-mkenums
OUT2BIN+=gobject/.libs/glib-genmarshal
OUT2BIN+=gio/.libs/glib-compile-schemas
OUT2BIN_NONE+=gobject/glib-mkenums
OUT2BIN_NONE+=gobject/.libs/glib-genmarshal
OUT2BIN_NONE+=gio/.libs/glib-compile-schemas
.ELSE
......
......@@ -58,7 +58,10 @@ CONFIGURE_FLAGS+= CFLAGS=-xc99=none
.IF "$(OS)"=="AIX"
CONFIGURE_FLAGS+= CFLAGS=-D_LINUX_SOURCE_COMPAT
.ENDIF
.ELIF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(SYSBASE)"!=""
.IF "$(EXTRA_CFLAGS)"!=""
......
......@@ -148,6 +148,11 @@ icu_LDFLAGS+=-lgnustl_shared
CONFIGURE_ACTION+=sh -c 'CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(icu_CFLAGS)" CXXFLAGS="$(icu_CXXFLAGS)" LDFLAGS="$(icu_LDFLAGS) $(LDFLAGSADD)" \
./configure --enable-layout $(STATIC_OR_SHARED) $(BUILD_AND_HOST) $(DISABLE_64BIT) $(DISABLE_STRICT) $(DISABLE_DYLOAD) $(LIBRARY_SUFFIX)'
.IF "$(OS)" == "MACOSX"
CONFIGURE_ACTION += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
CONFIGURE_FLAGS=
# Use of
......@@ -191,7 +196,7 @@ OUT2LIB= \
$(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \
$(BUILD_DIR)$/lib$/libicutu$(DLLPOST)
OUT2BIN= \
OUT2BIN_NONE= \
$(BUILD_DIR)$/bin$/genccode \
$(BUILD_DIR)$/bin$/genbrk \
$(BUILD_DIR)$/bin$/gencmn
......
......@@ -58,7 +58,7 @@ my_libxml2_libs=$(LIBXML_LIBS)
my_libxml2_cflags=-I$(SOLARINCDIR)/external/libxml
my_libxml2_libs=-L$(SOLARLIBDIR) -lxml2
.ENDIF
CONFIGURE_ACTION=./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \
CONFIGURE_ACTION=./configure --prefix=/@.__________________________________________________$(EXTRPATH) \
CPPFLAGS="$(EXTRA_CDEFS)" \
CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
LDFLAGS="-L$(SOLARLIBDIR) $(EXTRA_LINKFLAGS) -Wl,-dylib_file,@loader_path/libgmodule-2.0.0.dylib:$(SOLARLIBDIR)/libgmodule-2.0.0.dylib" \
......@@ -75,7 +75,6 @@ BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \
$(GNUMAKE)
BUILD_DIR=$(CONFIGURE_DIR)
EXTRPATH=LOADER
OUT2LIB+=src/.libs/libcroco-0.6.3.0.1.dylib
OUT2INC+=src/cr-additional-sel.h
......
......@@ -58,7 +58,10 @@ CONFIGURE_ACTION=configure --disable-shared --with-pic CFLAGS="$(ARCH_FLAGS) $(E
CONFIGURE_FLAGS=$(eq,$(OS),MACOSX CPPFLAGS="$(EXTRA_CDEFS)" $(NULL))
.IF "$(OS)"=="AIX"
CONFIGURE_FLAGS+= CFLAGS=-D_LINUX_SOURCE_COMPAT
.ENDIF
.ELIF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......
......@@ -66,7 +66,7 @@ PATCH_FILES=libgsf-1.14.19.patch
CONFIGURE_DIR=
CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
./configure \
--prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \
--prefix=/@.__________________________________________________$(EXTRPATH) \
CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(LIBXML_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
LDFLAGS="-L$(SOLARLIBDIR) $(eq,$(OS),MACOSX $(EXTRA_LINKFLAGS) $(NULL))" \
--without-python \
......@@ -85,7 +85,7 @@ CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
CONFIGURE_FLAGS=$(eq,$(OS),MACOSX CPPFLAGS="$(EXTRA_CDEFS)" $(NULL))
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......@@ -97,7 +97,6 @@ BUILD_DIR=$(CONFIGURE_DIR)
.ENDIF
.IF "$(OS)"=="MACOSX"
EXTRPATH=LOADER
OUT2LIB+=gsf/.libs/libgsf-1.114.dylib
.ENDIF
......
......@@ -60,7 +60,7 @@ LIBXML_LIBS=-lxml2
CONFIGURE_LDFLAGS=-L$(SOLARLIBDIR) $(eq,$(OS),MACOSX $(EXTRA_LINKFLAGS) $(NULL))
CONFIGURE_DIR=
CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure \
--prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC)
--prefix=/@.__________________________________________________$(EXTRPATH)
CONFIGURE_FLAGS=--disable-gtk-theme --disable-tools --with-croco --with-svgz \
--disable-pixbuf-loader --disable-dependency-tracking $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules) \
LIBRSVG_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/gdk-pixbuf-2.0 -I$(SOLARINCDIR)/external/pango-1.0 -I$(SOLARINCDIR)/cairo $(LIBXML_CFLAGS)" \
......@@ -84,7 +84,6 @@ BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \
$(GNUMAKE) $(!eq,$(VERBOSE),$(NULL) V=1) -j$(MAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR)
EXTRPATH=LOADER
OUT2LIB+=.libs/librsvg-2.2.dylib
OUT2INC+=librsvg-enum-types.h
......
......@@ -137,6 +137,10 @@ BUILD_DIR=$(CONFIGURE_DIR)
.IF "$(debug)"!=""
CONFIGURE_FLAGS+=--with-mem-debug --with-run-debug
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......@@ -148,7 +152,7 @@ OUTDIR2INC=include$/libxml
.IF "$(OS)"=="MACOSX"
EXTRPATH=URELIB
OUT2LIB+=.libs$/libxml2.*.dylib
OUT2BIN+=.libs$/xmllint
OUT2BIN_NONE+=.libs$/xmllint
OUT2BIN+=xml2-config
.ELIF "$(OS)"=="IOS"
OUT2LIB+=.libs$/libxml2.a
......
......@@ -163,6 +163,11 @@ CONFIGURE_FLAGS+=--with-openssl=$(SOLARVER)/$(INPATH)
CONFIGURE_FLAGS+=--with-openssl=no
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
# system-mozilla needs pkgconfig to get the information about nss
# FIXME: This also will enable pkg-config usage for libxml2. It *seems*
# that the internal headers still are used when they are there but....
......
......@@ -151,6 +151,11 @@ CONFIGURE_FLAGS+=--enable-ipv6=no --without-crypto --without-python --with-sax1=
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR)
......@@ -161,7 +166,7 @@ OUT2INC=libxslt$/*.h
.IF "$(OS)"=="MACOSX"
OUT2LIB+=libxslt$/.libs$/libxslt.*.dylib
OUT2LIB+=libexslt$/.libs$/libexslt.*.dylib
OUT2BIN+=xsltproc$/.libs$/xsltproc
OUT2BIN_NONE+=xsltproc$/.libs$/xsltproc
OUT2BIN+=xslt-config
.ELIF "$(OS)"=="IOS"
OUT2LIB+=libxslt$/.libs$/libxslt.a
......
......@@ -348,7 +348,7 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
.ENDIF
.ENDIF
.IF "$(OS)"=="MACOSX"
$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \
$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl shl OOO \
$(RUNTIME_DIR)$/*$(DLLPOST)
# A crude hack to adapt all the absolute ("@executable_path") dependencies to
# relative ("@loader_path") ones:
......@@ -423,7 +423,7 @@ $(MISC)$/build$/so_moz_lib_files: $(foreach,file,$(LIBLIST) $(LIB_DIR)$/$(file)
$(LIB_DIR)$/$(file) &&) \
echo >& $(NULLDEV)
.IF "$(OS)"=="MACOSX"
$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \
$(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl shl OOO \
$(LIB_DIR)$/*$(DLLPOST)
.ENDIF
.IF "$(GUI)"=="UNX"
......
......@@ -162,7 +162,8 @@ MOZILLA_CONFIGURE_FLAGS+= \
--with-macos-sdk=$(MACOSX_SDK_PATH) \
--disable-glibtest \
--enable-macos-target=$(MACOSX_DEPLOYMENT_TARGET) \
--disable-libxul
--disable-libxul \
--prefix=/@.__________________________________________________$(EXTRPATH)
DEFAULT_MOZILLA_TOOLKIT=mac
.ELSE
......
......@@ -60,7 +60,13 @@ BUILD_OPT=1
.EXPORT: BUILD_OPT
.ENDIF
CONFIGURE_ACTION=mozilla/nsprpub/configure --prefix=$(OUTDIR) --includedir=$(OUTDIR)/inc/mozilla/nspr ; \
.IF "$(OS)" == "MACOSX"
my_prefix=/@.__________________________________________________$(EXTRPATH)
.ELSE
my_prefix=$(OUTDIR)
.END
CONFIGURE_ACTION=mozilla/nsprpub/configure --prefix=$(my_prefix) --includedir=$(OUTDIR)/inc/mozilla/nspr ; \
sed -e 's\#@prefix@\#$(OUTDIR)\#' -e 's\#@includedir@\#$(OUTDIR)/inc/mozilla/nss\#' -e 's\#@MOD_MAJOR_VERSION@\#$(VER_MAJOR)\#' -e 's\#@MOD_MINOR_VERSION@\#$(VER_MINOR)\#' -e 's\#@MOD_PATCH_VERSION@\#$(VER_PATCH)\#' mozilla/security/nss/nss-config.in > mozilla/security/nss/nss-config ; \
chmod a+x mozilla/security/nss/nss-config
......
......@@ -60,6 +60,11 @@ CONFIGURE_FLAGS=shared no-idea
CONFIGURE_FLAGS=-I$(SYSBASE)$/usr$/include -L$(SYSBASE)$/usr$/lib shared no-idea
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
BUILD_DIR=.
COMPILER_AND_FLAGS=$(CC)
......
......@@ -56,7 +56,7 @@ PATCH_FILES=pango-1.28.3.patch
CONFIGURE_LDFLAGS="-L$(SOLARLIBDIR)"
CONFIGURE_DIR=
CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \
./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) --disable-dependency-tracking --disable-doc-cross-references \
./configure --prefix=/@.__________________________________________________$(EXTRPATH) --disable-dependency-tracking --disable-doc-cross-references \
CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(EXTRA_CDEFS) -I$(SOLARINCDIR) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
CXXFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(EXTRA_CDEFS) -I$(SOLARINCDIR) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \
LDFLAGS="$(CONFIGURE_LDFLAGS)" \
......@@ -78,12 +78,10 @@ VFLAG=V=1
BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) $(VFLAG)
BUILD_DIR=$(CONFIGURE_DIR)
EXTRPATH=LOADER
OUT2LIB+=pango/.libs/libpango-1.0.0.dylib
OUT2LIB+=pango/.libs/libpangocairo-1.0.0.dylib
OUT2BIN+=pango/.libs/pango-querymodules
OUT2BIN_NONE+=pango/.libs/pango-querymodules
OUT2INC+=pango/pango-attributes.h
OUT2INC+=pango/pango-enum-types.h
......
......@@ -83,7 +83,13 @@ python_LDFLAGS+=$(ARCH_FLAGS)
python_CFLAGS=-g0
.ENDIF
CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure --prefix=/python-inst --enable-shared CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
.IF "$(OS)" == "MACOSX"
my_prefix = @__________________________________________________$(EXTRPATH)
.ELSE
my_prefix = python-inst
.END
CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure --prefix=/$(my_prefix) --enable-shared CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
.IF "$(OS)$(CPU)" == "SOLARISI"
CONFIGURE_ACTION += --disable-ipv6
......@@ -94,7 +100,7 @@ PATCH_FILES+=Python-2.6.1-py8067.patch
# don't build dual-arch version as OOo itself is not universal binary either
PATCH_FILES+=Python-2.6.1-arch_$(eq,$(CPU),I i386 ppc).patch
CONFIGURE_ACTION+=--enable-universalsdk=$(MACOSX_SDK_PATH) --with-universal-archs=32-bit --enable-framework=/python-inst --with-framework-name=OOoPython
CONFIGURE_ACTION+=--enable-universalsdk=$(MACOSX_SDK_PATH) --with-universal-archs=32-bit --enable-framework=/$(my_prefix) --with-framework-name=OOoPython
ALLTAR: $(MISC)/OOoPython.framework.zip
.ENDIF
......@@ -102,7 +108,7 @@ ALLTAR: $(MISC)/OOoPython.framework.zip
.IF "$(OS)"=="AIX"
CONFIGURE_ACTION += --disable-ipv6 --with-threads
.ENDIF
BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) -j$(EXTMAXPROCESS) && $(GNUMAKE) install DESTDIR=$(MYCWD) && chmod -R ug+w $(MYCWD)/python-inst && chmod g+w Include
BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) -j$(EXTMAXPROCESS) && $(GNUMAKE) install DESTDIR=$(MYCWD) && chmod -R ug+w $(MYCWD)/$(my_prefix) && chmod g+w Include
.ELSE
# ----------------------------------
# WINDOWS
......@@ -117,7 +123,7 @@ python_LDFLAGS=-mno-cygwin -mthreads
python_LDFLAGS+=-shared-libgcc
.ENDIF
python_LDFLAGS+=-shared-libgcc -Wl,--enable-runtime-pseudo-reloc-v2
CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/python-inst --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/$(my_prefix) --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)"
BUILD_ACTION=$(ENV_BUILD) make && make install
.ELSE
......@@ -200,11 +206,11 @@ ALLTAR : $(PYVERSIONFILE)
$(PACKAGE_DIR)/fixscripts: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@echo remove build installdir from scripts
$(COMMAND_ECHO)for file in \
$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/2to3 \
$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/idle$(PYMAJOR).$(PYMINOR) \
$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/pydoc$(PYMAJOR).$(PYMINOR) \
$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/python$(PYMAJOR).$(PYMINOR)-config \
$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/smtpd$(PYMAJOR).$(PYMINOR).py ; do \
$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/2to3 \
$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/idle$(PYMAJOR).$(PYMINOR) \
$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/pydoc$(PYMAJOR).$(PYMINOR) \
$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/python$(PYMAJOR).$(PYMINOR)-config \
$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/smtpd$(PYMAJOR).$(PYMINOR).py ; do \
{{ rm "$$file" && awk '\
BEGIN {{print "\
#!/bin/bash\n\
......@@ -220,15 +226,15 @@ cd \"$$origpath\"\n\
$(PACKAGE_DIR)/fixinstallnames: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
@echo remove build installdir from OOoPython
$(COMMAND_ECHO)install_name_tool -change \
/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython \
/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython \
@executable_path/../../../../OOoPython \
$(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/Resources/Python.app/Contents/MacOS/OOoPython
$(MYCWD)/$(my_prefix)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/Resources/Python.app/Contents/MacOS/OOoPython
@touch $@
$(MISC)/OOoPython.framework.zip: $(PACKAGE_DIR)/fixinstallnames $(PACKAGE_DIR)/fixscripts
@-rm -f $@
@echo creating $@
$(COMMAND_ECHO)cd $(MISC)/build/python-inst && find OOoPython.framework \
$(COMMAND_ECHO)cd $(MISC)/build/$(my_prefix) && find OOoPython.framework \
-not -type l -not -name Info.plist.in \
-not -name pythonw$(PYMAJOR).$(PYMINOR) \
-not -name python$(PYMAJOR).$(PYMINOR) -print0 | \
......
# MACOSX - start
mkdir: %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6
..\%__SRC%\misc\build\python-inst\OOoPython.framework\OOoPython %_DEST%\lib\OOoPython.framework\OOoPython
..\%__SRC%\misc\build\python-inst\OOoPython.framework\Versions\2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\*
..\%__SRC%\misc\build\python-inst\OOoPython.framework\Versions\2.6\include\python2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6\*
..\%__SRC%\misc\build\@__________________________________________________OOO\OOoPython.framework\OOoPython %_DEST%\lib\OOoPython.framework\OOoPython
..\%__SRC%\misc\build\@__________________________________________________OOO\OOoPython.framework\Versions\2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\*
..\%__SRC%\misc\build\@__________________________________________________OOO\OOoPython.framework\Versions\2.6\include\python2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6\*
..\%__SRC%\misc\OOoPython.framework.zip %_DEST%\bin\OOoPython.framework.zip
# MACOSX - end
......
......@@ -164,6 +164,11 @@ CONFIGURE_FLAGS+=--with-xml2-config=$(SOLARVER)/$(INPATH)/bin/xml2-config
CONFIGURE_FLAGS+=--with-xslt-config=$(SOLARVER)/$(INPATH)/bin/xslt-config
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......
......@@ -130,6 +130,10 @@ CONFIGURE_FLAGS=--disable-shared
CONFIGURE_FLAGS=--disable-static
.ENDIF
CONFIGURE_FLAGS+= --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......
......@@ -137,6 +137,10 @@ CONFIGURE_FLAGS+= --disable-static
.IF "$(OS)"!="ANDROID"
CONFIGURE_FLAGS+= --with-threads
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
......
......@@ -25,8 +25,27 @@
#
#*************************************************************************
use lib ("$ENV{SOLARENV}/bin/modules");
use macosxotoolhelper;
# The install names of our dynamic libraries contain a special segment token
# that denotes where the dynamic library is located in the installation set.
# The segment token consists of "@", optionally followed by ".", followed by 50
# "_", followed by a location token (one of "URELIB", "OOO", "OXT", or "NONE").
#
# Typically, the segment token is the first segment of a relative install name.
# But the segment token may also appear within an absolute install name. That
# is useful when tunnelling the segment token into the external build process
# via a --prefix configure switch, for example.
#
# When another dynamic library or an executable links against such a dynamic
# library, the path recorded in the former to locate the latter is rewritten
# according to the below %action table. The result path consists of the prefix
# from the action table followed by the suffix of the dynamic library's install
# name. If the special segment token does not contain the optional "." after
# the "@", the suffix consists of all segments after the special token segment.
# If the special token segment does contain the optional ".", then the suffix
# consists of just the last segment of the original install name.
#
# That latter case is useful for libraries from external modules, where the
# external build process locates them in some sub-directory.
sub action($$$)
{
......@@ -41,8 +60,6 @@ sub action($$$)
'shl/URELIB/URELIB' => '@loader_path',
'shl/OOO/URELIB' => '@loader_path/../ure-link/lib',
'shl/OOO/OOO' => '@loader_path',
'shl/LOADER/LOADER' => '@loader_path',
'shl/LOADER/URELIB' => '@loader_path/../ure-link/lib',
'shl/OXT/URELIB' => '@executable_path/urelibs',
'shl/NONE/URELIB' => '@__VIA_LIBRARY_PATH__',
'shl/OOO/NONE' => '@__VIA_LIBRARY_PATH__',
......@@ -54,52 +71,17 @@ sub action($$$)
return $act;
}
@ARGV == 3 || @ARGV >= 2 && $ARGV[0] eq "extshl" or die
'Usage: app|shl|extshl UREBIN|URELIB|OOO|SDK|OXT|NONE|LOADER <filepath>*';
@ARGV >= 2 or die 'Usage: app|shl UREBIN|URELIB|OOO|SDK|OXT|NONE <filepath>*';
$type = shift @ARGV;
$loc = shift @ARGV;
if ($type eq "SharedLibrary")
{
$type = "shl";
}
if ($type eq "Executable")
{
$type = "app"
}
if ($type eq "Library")
elsif ($type eq "Library" || $type eq "SharedLibrary")
{
$type = "shl"
}
if ($type eq "extshl")
{
$type = "shl";
my $change = "";
my %inames;
foreach $file (@ARGV)
{
my $iname = otoolD($file);
(defined $iname ? $iname : $file . "\n") =~ m'^(.*?([^/]+))\n$' or
die "unexpected otool -D output";
$change .= " -change $1 " . action($type, $loc, $loc) . "/$2";
$inames{$file} = $2;
}
if( $loc eq "LOADER" )
{
foreach $file (@ARGV)
{
my $call = "install_name_tool$change -id \@loader_path/$inames{$file} $file";
system($call) == 0 or die "cannot $call";
}
}
else
{
foreach $file (@ARGV)
{
my $call = "install_name_tool$change -id \@__________________________________________________$loc/$inames{$file} $file";
system($call) == 0 or die "cannot $call";
}
}
}
foreach $file (@ARGV)
{
my $call = "otool -L $file";
......@@ -107,10 +89,14 @@ foreach $file (@ARGV)
my $change = "";
while (<IN>)
{
$change .= " -change $1 " . action($type, $loc, $2) . "$3"
if m'^\s*(@_{50}([^/]+)(/.+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$';
$change .= ' -change '.$1.' @loader_path/'.$2
if m'^\s*(/python-inst/(OOoPython.framework/Versions/[^/]+/OOoPython))';
if (m'^\s*(((/.*)?/)?@_{50}([^/]+)(/.+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$')
{
$change .= " -change $1 " . action($type, $loc, $4) . $5;
}
elsif (m'^\s*(((/.*)?/)?@\._{50}([^/]+)(/.+)?(/[^/]+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$')
{
$change .= " -change $1 " . action($type, $loc, $4) . $6;
}
}
close(IN);
if ($change ne "")
......
......@@ -47,8 +47,8 @@ PATH!:=.$(PATH_SEPERATOR)$(SOLARBINDIR)$(PATH_SEPERATOR)$(PATH)
.EXPORT : PATH
#override
PACKAGE_DIR=$(MISC)/build
ABS_PACKAGE_DIR:=$(MAKEDIR)/$(MISC)/build
PACKAGE_DIR*=$(MISC)/build
ABS_PACKAGE_DIR:=$(MAKEDIR)/$(PACKAGE_DIR)
#MUST match with PACKAGE_DIR
BACK_PATH=../../../
......@@ -252,7 +252,7 @@ $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE)
.IF "$(OUT2LIB)"!=""
$(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2LIB) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(LB)
.IF "$(OS)"=="MACOSX"
$(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl extshl \
$(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl shl \
$(EXTRPATH) \
$(shell ls $(foreach,j,$(OUT2LIB) $(LB)/$(j:f)) | \
(grep -v '\.a$$' || test $$? = 1))
......@@ -271,16 +271,31 @@ $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)/$(INSTALL_FLAG_FILE)
.ENDIF # "$(OUTDIR2INC)"!=""
.IF "$(OUT2BIN)"!=""
$(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN)
.IF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
.IF "$(OS)"=="MACOSX"
$(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app \
$(EXTRPATH) $(shell ls $(foreach,j,$(OUT2BIN) $(BIN)/$(j:f)))
.ELIF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
@noop $(foreach,j,$(foreach,k,$(OUT2BIN) \
$(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \
$(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \
-manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI)))
.ENDIF # "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
.ENDIF # "$(OUT2BIN)"!=""
.IF "$(OUT2BIN_NONE)"!=""
$(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2BIN_NONE) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(BIN)
.IF "$(OS)"=="MACOSX"
$(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl app \
NONE $(shell ls $(foreach,j,$(OUT2BIN_NONE) $(BIN)/$(j:f)))
.ELIF "$(GUI)$(COM)$(COMEX)"=="WNTMSC12"
@noop $(foreach,j,$(foreach,k,$(OUT2BIN_NONE) \
$(shell -ls -1 $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$k | $(GREP) .dll)) \
$(shell @$(IFEXIST) $(j).manifest $(THEN) mt.exe \
-manifest $(j).manifest -outputresource:$(BIN)/$(j:f)$(EMQ);2 $(FI)))
.END
.ENDIF # "$(OUT2BIN_NONE)"!=""
.IF "$(OUT2CLASS)"!=""
$(COMMAND_ECHO)$(COPY) $(foreach,i,$(OUT2CLASS) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/$i) $(CLASSDIR)
.ENDIF # "$(OUT2BIN)"!=""
.ENDIF # "$(OUT2CLASS)"!=""
$(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(PREDELIVER_FLAG_FILE)
$(MISC)/$(TARFILE_ROOTDIR).done : $(MISC)/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(PATCH_FILES)
......
......@@ -83,6 +83,8 @@ all:
# stl/_epilog.h.)
.ENDIF
EXTRPATH=URELIB
ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak src$/sunpro11.mak src$/gcc-3.0-mingw.mak \
src$/gcc-3.0-os2.mak src$/gcc-3.0-os2.def src$/common_macros_os2.mak
......@@ -90,6 +92,11 @@ ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak src$
CONFIGURE_ACTION=none
CONFIGURE_FLAGS=
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
BUILD_DIR=src
.IF "$(COM)"=="MSC"
......
......@@ -83,6 +83,11 @@ LDFLAGS:=$(ARCH_FLAGS)
CONFIGURE_ACTION=configure
CONFIGURE_FLAGS+=--without-x --without-libpaper-library --without-t1-library --enable-multithreaded --enable-exceptions
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(OS)$(CPU)"=="MACOSXP"
CXXFLAGS+=-malign-natural
.EXPORT: CXXFLAGS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment