Apache OpenOffice (AOO) Bugzilla – Issue 7458
OOO_STABLE_1/X11+Aqua: Support for building on 10.2 gcc2
Last modified: 2004-05-19 16:35:35 UTC
The 10.2 OS introduced new headers and a new /bin/sh that require several changes to allow for a compile to proceed successfully. This set of patches allows for builds to succeed on 10.2 with gcc2. Note: to use gcc2 on 10.2 you need to do the following *before* anything in the regular build instructions: sudo gcc_select 2 These patches also get configure to define several more preprocessor variables that are needed to adjust for different prototypes on 10.1 and 10.2. They should be extensive enough to allow for detecting compiler dependencies for future versions as well. These do *not* do runtime OS dependency checking, only build-time. The preprocessor macros are: BUILD_OS_DARWIN This will be defined if you're building on a Darwin system. Darwin systems are detected by checking for /usr/bin/osascript and making sure it *doesn't* exist. This is an applescript interpreter for use from the command line that (I believe) isn't included with Darwin. BUILD_OS_APPLEOSX This will be defined if you're building on a true OS X system. Indication of an OS X system is the existence of /usr/bin/osascript Assume that you have an OS version of MAJOR.MINOR.REVISION and the following are then preprocessor macros defined to the numbers of the version: BUILD_OS_MAJOR This will be set to the major version number of the build os. BUILD_OS_MINOR This will be set to the minor version number of the build os. BUILD_OS_REVISION This will be set to the revision version number of the build os. As an example, assume we're building on a 10.2 system. The following will be added to the compile line: -DBUILD_OS_APPLEOSX -DBUILD_OS_MAJOR=10 -DBUILD_OS_MINOR=2 -DBUILD_OS_REVISION=0 The freetype patch no longer uses the internal freetype build, but rather uses freetype as distributed in /usr/X11R6. Linker differences between 10.1 and 10.2 cause linking against freetype to fail. In the past, the OS X build system was linking against freetype in /usr/X11R6 anyhow even though an internal one was present as libfreetype.dylib links exist only in /usr/X11R6/lib. The sal patch uses the new macros above to fix up the internal declaration of getpwnam_r. We still need to define this function in one of our internal libraries to allow for binary compatibility with 10.1 systems for binaries produced on 10.2 build machines. The solenv patch changes an apparently spurious "print" to "printf". While "print" exists as a shell command in zsh, it's non in bash, now the default /bin/sh for 10.2/Darwin6.
Created attachment 2690 [details] cd config_office; patch -p0 < config_office.OOO_STABLE_1_PORTS.090202.patch
Created attachment 2691 [details] cd $SRC_ROOT/freetype; patch -p0 < freetype.OOO_STABLE_1_PORTS.090202.patch
Created attachment 2692 [details] cd $SRC_ROOT; patch -p0 < solenv.OOO_STABLE_1_PORTS.090202.patch
Created attachment 2693 [details] cd $SRCROOT/sal; patch -p0 < sal.OOO_STABLE_!_PORTS.090202.patch
Created attachment 2736 [details] overrides the 090202 patch, requires fresh checkout of config_office: cd $SRCROOT/config_office; patch -p0 < config_office.OOO_STABLE_1_PORTS.090502.patch; autoconf; ./configure --with-x --with-stlport4-home=/path/to/your/stlport-4.0/dir
set_soenv.in changes applied to srx643_OO tag, bootstreap.2 changes are not applicable to 643. To use these specifically you can retag 643 configure.in & set_soenv.in as your release subject to testing of course.
Created attachment 2911 [details] Supercedes solenv.OOO_STABLE_1_PORTS.090202/patch
The new solenv.OOO_STABLE_1_PORTS.091902.patch file supercedes the previous solenv patch. Apply this patch to a clean checkout of the solenv module and apply it using the following command: cd $SRC_ROOT; patch -p0 < solenv.OOO_STABLE_1_PORTS.091902.patch This revised patch eliminates the creation of *.app directories for GUI applications during the build. These *.app directories were incomplete and not needed in the current installation set.
Created attachment 2966 [details] Supercedes previous solenv patch. Apply this patch using the following commands: cd $SRC_ROOT/solenv ; patch -p0 < /path/to/patch/file
Latest solenv patch corrects bash shell problem in create-bundle script on Mac OS X 10.2
Created attachment 2991 [details] Fixes NO_STLPORT problem when building tools/bootstrp. Supercedes previous patch. Apply to clean checkout of solenv using the following commands: cd $SRC_ROOT/solenv ; patch -p0 < /path/to/patch/file (text/plain)
Created attachment 2992 [details] Fixes pthread_detach problem for Mac OS X 10.2. Supercedes previous patch. Apply to clean checkout of sal using the following commands: cd $SRC_ROOT/sal ; patch -p0 < /path/to/patch/file
Add approval_pending keyword
NOTE for sal.OOO_STABLE_1_PORTS.092802.patch: 10.2 buildability changes for this patch are in sal 111902 patch in Issue 7161 and the pthread_detach issue has been solved by moving to rev 1.24 of sal/osl/unx/thread.c. Dan
Created attachment 3693 [details] cd to SRC_ROOT/solenv, patch -p0 < /path/to/patchfile
112002 solenv patch is updated version, supercedes all previous solenv patches here. Please approve solenv.OOO_STABLE_1_PORTS.112002.patch. Dan
Created attachment 3694 [details] cd to SRC_ROOT/config_office, patch -p0 < /path/to/patchfile
config_office.OOO_STABLE_1_PORTS.112002.patch Supercedes previous 090502 patch. Adds system freetype includes path to SOLARINC. Dan
Hi, solenv .112002 - approved (completely macosx specific - even deliver.pl pieces) freetype 090202 - approved - but you should indicate as a comment in the makefile that for X11 versions that we are using an external freetype that comes with X11. We may want to revisit this for gcc3 since -malign-natural may force us to build our own if any large structures are exchanged. config_office 112002 - completely macosx specific - approved Kevin
config_office.OOO_STABLE_1_PORTS.112002.patch committed to OOO_STABLE_1_PORTS. dan
Both freetype and solenv 112002 patches committed to _PORTS. Dan
Change to merge_pending. Merge only these patches: 1) config_office.OOO_STABLE_1_PORTS.112002.patch 2) freetype.OOO_STABLE_1_PORTS.090202.patch (but rediff from _PORTS for updated comments in patch) 3) solenv.OOO_STABLE_1_PORTS.112002.patch Dan
These patches have been merged or are obsolete.
closing