[complement-svn] SF.net SVN: complement: [1712] trunk/complement/explore/Makefiles/gmake
Status: Pre-Alpha
Brought to you by:
complement
From: <com...@us...> - 2007-08-30 14:32:59
|
Revision: 1712 http://complement.svn.sourceforge.net/complement/?rev=1712&view=rev Author: complement Date: 2007-08-30 07:32:49 -0700 (Thu, 30 Aug 2007) Log Message: ----------- MacOS X 10.4 with gcc Modified Paths: -------------- trunk/complement/explore/Makefiles/gmake/app/gcc.mak trunk/complement/explore/Makefiles/gmake/lib/gcc.mak trunk/complement/explore/Makefiles/gmake/sysid.mak Modified: trunk/complement/explore/Makefiles/gmake/app/gcc.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/app/gcc.mak 2007-08-30 14:20:07 UTC (rev 1711) +++ trunk/complement/explore/Makefiles/gmake/app/gcc.mak 2007-08-30 14:32:49 UTC (rev 1712) @@ -96,9 +96,25 @@ else # otherwise, exceptions support is in libgcc_s.so _LGCC_EH := +ifneq ($(OSNAME),darwin) _LGCC_S := -lgcc_s +else +ifdef GCC_APPLE_CC +ifeq ($(MACOSX_TEN_FIVE),true) +_LGCC_S := -lgcc_s.10.5 +else +_LGCC_S := -lgcc_s.10.4 endif +else +_LGCC_S := -lgcc_s +# end of GCC_APPLE_CC endif +# end of Darwin +endif +# end of !USE_STATIC_LIBGCC +endif +# end of present libgcc_eh.a +endif # ifeq ($(CXX_VERSION_MAJOR),3) ifeq ($(OSNAME),linux) @@ -129,9 +145,28 @@ STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm endif ifeq ($(OSNAME),darwin) -START_OBJ := -lcrt1.o -lcrt2.o +# sometimes crt3.o will required: it has __cxa_at_exit, but the same defined in libc.dyn +# at least in Mac OS X 10.4.10 (8R2218) +ifeq ($(CXX_VERSION_MAJOR),3) +# i.e. gcc 3.3 +START_OBJ := $(shell for o in crt1.o crt2.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) +else +ifndef USE_STATIC_LIBGCC +# MacOS X, shared-libgcc +ifeq ($(MACOSX_TEN_FIVE),true) +# MacOS X >= 10.5 +START_OBJ := -lcrt1.o +else +# MacOS X < 10.5 +START_OBJ := -lcrt1.o +endif +else +# MacOS X, not shared-libgcc +START_OBJ := -lcrt1.o +endif +endif END_OBJ := -STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lc -lm -lsupc++ +STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm -lsupc++ ${_LGCC_EH} #LDFLAGS += -dynamic endif LDFLAGS += -nostdlib Modified: trunk/complement/explore/Makefiles/gmake/lib/gcc.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/lib/gcc.mak 2007-08-30 14:20:07 UTC (rev 1711) +++ trunk/complement/explore/Makefiles/gmake/lib/gcc.mak 2007-08-30 14:32:49 UTC (rev 1712) @@ -106,10 +106,34 @@ else # otherwise, exceptions support is in libgcc_s.so _LGCC_EH := +ifneq ($(OSNAME),darwin) _LGCC_S := -lgcc_s +else +ifeq ($(MACOSX_TEN_FIVE),true) +_LGCC_S := -lgcc_s.10.5 +else +_LGCC_S := -lgcc_s.10.4 endif +# end of Darwin endif +# end of !USE_STATIC_LIBGCC +endif +# end of present libgcc_eh.a +endif +_LSUPCPP := $(shell ${CXX} ${CXXFLAGS} -print-file-name=libsupc++.a) +ifeq (${OSNAME},darwin) +ifdef GCC_APPLE_CC +_LSUPCPP := $(shell lipo ${_LSUPCPP} -thin ${M_ARCH} -output $(PRE_OUTPUT_DIR)/libsupc++.a && echo $(PRE_OUTPUT_DIR)/libsupc++.a) +endif +endif +ifneq (${_LSUPCPP},libsupc++.a) +_LSUPCPP_OBJ := $(shell $(AR) t ${_LSUPCPP}) +_LSUPCPP_AUX_OBJ := $(addprefix $(AUX_DIR)/,${_LSUPCPP_OBJ}) +_LSUPCPP_TSMP := .supc++ +_LSUPCPP_AUX_TSMP:= $(AUX_DIR)/$(_LSUPCPP_TSMP) +endif + # ifeq ($(CXX_VERSION_MAJOR),3) # Include whole language support archive (libsupc++.a) into libstlport: # all C++ issues are in libstlport now. @@ -142,10 +166,22 @@ STDLIBS := ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm -lrt endif ifeq ($(OSNAME),darwin) +ifndef USE_STATIC_LIBGCC +# MacOS X, shared-libgcc +ifeq ($(MACOSX_TEN_FIVE),true) +# MacOS X >= 10.5 START_OBJ := +else +# MacOS X < 10.5 +START_OBJ := +endif +else +# MacOS X, not shared-libgcc +START_OBJ := +endif END_OBJ := ifdef GCC_APPLE_CC -STDLIBS := ${STLPORT_LIB} -lgcc -lc -lm +STDLIBS := ${STLPORT_LIB} ${_LGCC_S} -lc -lm else LDFLAGS += -single_module STDLIBS := ${STLPORT_LIB} ${_LGCC_S} -lc -lm Modified: trunk/complement/explore/Makefiles/gmake/sysid.mak =================================================================== --- trunk/complement/explore/Makefiles/gmake/sysid.mak 2007-08-30 14:20:07 UTC (rev 1711) +++ trunk/complement/explore/Makefiles/gmake/sysid.mak 2007-08-30 14:32:49 UTC (rev 1712) @@ -14,6 +14,10 @@ ifndef TARGET_OS OSNAME := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-') +ifeq ($(OSNAME),darwin) +OSREALNAME := $(shell sw_vers -productName | tr '[A-Z]' '[a-z]' | tr -d ', /\\()"') +endif + # RedHat use nonstandard options for uname at least in cygwin, # macro should be overwritten: ifeq (cygwin,$(findstring cygwin,$(OSNAME))) @@ -27,6 +31,9 @@ endif OSREL := $(shell uname -r | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-') +ifeq ($(OSNAME),darwin) +OSREL := $(shell sw_vers -productVersion | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-') +endif M_ARCH := $(shell uname -m | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',-') ifeq ($(OSNAME),hp-ux) P_ARCH := unknown @@ -51,6 +58,12 @@ OSREL_MINOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$2;}') endif +ifeq ($(OSNAME),darwin) +OSREL_MAJOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$1;}') +OSREL_MINOR := $(shell echo ${OSREL} | tr '.-' ' ' | awk '{print $$2;}') +MACOSX_TEN_FIVE := $(shell if [ ${OSREL_MAJOR} -lt 10 ]; then echo false; else if [ ${OSREL_MAJOR} -gt 10 ] ; then echo true; else if [ ${OSREL_MINOR} -lt 5 ]; then echo false; else echo true; fi; fi; fi) +endif + # OS_VER := $(shell uname -s | tr '[A-Z]' '[a-z]' | tr ', /\\()"' ',//////' | tr ',/' ',_') BUILD_SYSTEM := $(shell echo `uname -n` `uname -s` `uname -r` `uname -v` `uname -m` $$USER) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |