My plan is to set USES=compiler:c++11-lib to select
clang when it is the native compiler. In that
case silgraphite and boost will also be built with
clang, so we can use the native versions.
This diff is incomplete. It assumes that clang is always
used, whereas various things need to be made conditional.
The bridges changes were inspired by some of the stuff
in s5abi_macosx_x86-64, with various tweaks to make
things compile.
The build gets fairly far. It currently fails in the
connectivity module, when building libdbase.so with this
command:
.................c++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-z,origin -Wl,-rpath,'$ORIGIN' -shared -Wl,-O1 -Wl,--version-script ../../../unxfbsdx.pro/misc/component_dbase.map -L../../../unxfbsdx.pro/lib -L../lib -L/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solenv/unxfbsdx/lib -L/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solver/420/unxfbsdx.pro/lib -L/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solenv/unxfbsdx/lib -L/usr/local/openjdk7/lib -L/usr/local/openjdk7/jre/lib/amd64 -L/usr/local/openjdk7/jre/lib/amd64/server -L/usr/local/openjdk7/jre/lib/amd64/native_threads -L/usr/local/lib ../../../unxfbsdx.pro/slo/DCode.o ../../../unxfbsdx.pro/slo/DResultSet.o ../../../unxfbsdx.pro/slo/DStatement.o ../../../unxfbsdx.pro/slo/DPreparedStatement.o ../../../unxfbsdx.pro/slo/dindexnode.o ../../../unxfbsdx.pro/slo/DIndexIter.o ../../../unxfbsdx.pro/slo/DDatabaseMetaData.o ../../../unxfbsdx.pro/slo/DCatalog.o ../../../unxfbsdx.pro/slo/DColumns.o ../../../unxfbsdx.pro/slo/DIndexColumns.o ../../../unxfbsdx.pro/slo/DIndex.o ../../../unxfbsdx.pro/slo/DIndexes.o ../../../unxfbsdx.pro/slo/DTable.o ../../../unxfbsdx.pro/slo/DTables.o ../../../unxfbsdx.pro/slo/DConnection.o ../../../unxfbsdx.pro/slo/Dservices.o ../../../unxfbsdx.pro/slo/DDriver.o ../../../unxfbsdx.pro/slo/dbase_version.o -o ../../../unxfbsdx.pro/lib/libdbase.so -luno_cppu -luno_cppuhelpergcc3 -lvos3gcc3 -lsvl -ltl -lucbhelper4gcc3 -luno_sal -ldbtools -lfile -lutl -lcomphelpgcc3 -Wl,--as-needed -pthread -lm -Wl,--no-as-needed
with this error:
./usr/bin/ld: .../../../unxfbsdx.pro/slo/DTable.o: relocation R_X86_64_PC32 against `_ZThn192_N12connectivity4file10OFileTable7acquireEv' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value
The reason for this error is unclear. DTable.o shows this symbol as
undefined. The symbol is defined in libfile.so, which is specified as
on the linker command line. Nothing else is defining this symbol and
-fPIC is being used.
.Compiling: connectivity/source/drivers/dbase/DTable.cxx c++ -fmessage-length=0 -c -O2 -fno-strict-aliasing -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 -fvisibility=hidden -I. -I../../../unxfbsdx.pro/inc/dbase -I../inc -I../../inc -I../../../inc/pch -I../../../inc -I../../../unx/inc -I../../../unxfbsdx.pro/inc -I. -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solver/420/unxfbsdx.pro/inc/stl -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solver/420/unxfbsdx.pro/inc/external -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solver/420/unxfbsdx.pro/inc -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solenv/unxfbsdx/inc -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solenv/inc -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/res -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solenv/inc/Xp31 -I/usr/local/openjdk7/include -I/usr/local/openjdk7/include/freebsd -I/usr/local/openjdk7/include/bsd -I/usr/local/openjdk7/include/linux -I/usr/local/openjdk7/include/native_threads/include -I/usr/local/include -I/wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/solver/420/unxfbsdx.pro/inc/offuh -I. -I../../../res -I. -pipe -fvisibility-inlines-hidden -g1 -Wall -Wextra -Wendif-labels -Wshadow -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fPIC -DFREEBSD -DUNX -DVCL -DGCC -DC341 -DX86_64 -DX86_64 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DHAVE_STL_INCLUDE_PATH -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DGXX_INCLUDE_PATH=/usr/include/c++/v1 -DSUPD=420 -DPRODUCT -DNDEBUG -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DCUI -DSOLAR_JAVA -DSHAREDLIB -D_DLL_ -fexceptions -DEXCEPTIONS_ON -o ../../../unxfbsdx.pro/slo/DTable.o /wrkdirs/usr/ports/editors/openoffice-devel/work/aoo-4.2.0/main/connectivity/source/drivers/dbase/DTable.cxx