<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>7.1</string>
+ <string>7.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CarbonLazyValues</key>
NEXTSTEP_INSTALLDIR = $(USRLIBDIR)
WINDOWS_INSTALLDIR = /Library/Frameworks
PDO_UNIX_INSTALLDIR = /Library/Frameworks
-LIBS = -lc -ldyld -linfo -lkvm -lm -lmacho\
+LIBSYSTEM_LIBS = -lc -ldyld -linfo -lkvm -lm -lmacho\
-lnotify -lstreams -lunc -lkeymgr -lpoll -ldl
-DEBUG_LIBS = $(LIBS)
-PROF_LIBS = $(LIBS)
+#DEBUG_LIBS = $(LIBS)
+#PROF_LIBS = $(LIBS)
+ifdef ALTUSRLOCALLIBSYSTEM
+LIBSYS = $(ALTUSRLOCALLIBSYSTEM)
+else
+LIBSYS = $(NEXT_ROOT)/usr/local/lib/system
+endif
-LIBRARY_PATHS = -L$(NEXT_ROOT)/usr/local/lib/system
+LIBRARY_PATHS = -L$(LIBSYS)
NEXTSTEP_PB_CFLAGS = -Wall -Werror -I$(NEXT_ROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
-NEXTSTEP_PB_LDFLAGS = -nostdlib -all_load
+NEXTSTEP_PB_LDFLAGS = -nostdlib -all_load -multi_module -Wl,-search_paths_first
NEXTSTEP_OBJCPLUS_COMPILER = /usr/bin/cc
include $(CoreOSMakefiles)/ProjectBuilder/Makefile.Postamble.Common
-ifeq "$(BUILD_TYPE)" "normal"
-LIBS += -lcc_noc++
-else
-LIBS =
+ifeq ($(BUILD_TYPE),normal)
+OPTIMIZE_BUILD_LIBS := $(LIBSYSTEM_LIBS) $(GCCLIBS)
endif
-LIBS := $(foreach LIB, \
- $(filter $(BSD_LIBS), $(subst -l,,$(LIBS))), \
- $(NEXT_ROOT)/usr/local/lib/system/lib$(LIB).a) \
- $(filter-out $(addprefix -l, $(BSD_LIBS)), $(LIBS))
-
# pb_makefiles erroneously omits $(BUILD_TYPE_SUFFIX) from the install name
DYLIB_INSTALL_NAME = $(LIBRARY_PREFIX)$(NAME).$(VERSION_NAME)$(BUILD_TYPE_SUFFIX)$(LIBRARY_EXT)
$(ALL_CFLAGS) -c -o $(OFILE_DIR)/commsym.$(CURRENT_ARCH).o $<
ld -arch $(CURRENT_ARCH) -r -seg1addr 0xBFFF8000 \
$(OFILE_DIR)/commsym.$(CURRENT_ARCH).o -o $(OFILE_DIR)/$(notdir $@)
+
+#----------------------------------------------------------------------------
+
+ifeq ($(RC_ARCHS),ppc)
+ifeq ($(BUILD_TYPE),normal)
+LIBSUFFIX = .a
+REMOVESUFFIX = .So
+else
+ifeq ($(BUILD_TYPE),debug)
+LIBSUFFIX = _debug.a
+REMOVESUFFIX = .do
+else
+LIBSUFFIX = _profile.a
+REMOVESUFFIX = .po
+endif
+endif
+CNAME = libc$(LIBSUFFIX)
+MNAME = libm$(LIBSUFFIX)
+REMOVELIBC = _ldtoa err hexfloat syslog vfprintf vfwprintf
+REMOVELIBCOBJS = $(addsuffix $(REMOVESUFFIX),$(REMOVELIBC))
+REMOVELIBM = fpmacros
+REMOVELIBMOBJS = $(addsuffix .o,$(REMOVELIBM))
+LIBGCC = $(LIBSYS)/libgcc-ppc.a
+
+$(OFILE_DIR)/libgcc.unexport:
+ nm -g -arch $(RC_ARCHS) $(LIBGCC) | grep ' [A-TV-Z] ' | sed 's/^.* [A-Z] //' > $(OFILE_DIR)/libgcc.unexport
+ lipo -thin ppc -output $(OFILE_DIR)/$(CNAME) $(LIBSYS)/$(CNAME)
+ ar -d $(OFILE_DIR)/$(CNAME) $(REMOVELIBCOBJS)
+ ranlib $(OFILE_DIR)/$(CNAME)
+ lipo -thin ppc -output $(OFILE_DIR)/$(MNAME) $(LIBSYS)/$(MNAME)
+ ar -d $(OFILE_DIR)/$(MNAME) $(REMOVELIBMOBJS)
+ ranlib $(OFILE_DIR)/$(MNAME)
+endif
+ifeq ($(RC_ARCHS),ppc)
+GCCLIBS = -lgcc-ppc
+OTHER_PRODUCT_DEPENDS += $(OFILE_DIR)/libgcc.unexport
+else
+GCCLIBS = -lcc_noc++
+endif
+
BEFORE_BUILD += comm-page-symbols
BEFORE_INSTALL += profile debug
AFTER_INSTALL += compat-next compat-bsd copy_plist
-PROFILE_BUILD_LIBS := $(foreach LIBS, $(LIBS), $(LIBS)_profile) -lcc_noc++
-DEBUG_BUILD_LIBS := $(foreach LIBS, $(LIBS), $(LIBS)_debug ) -lcc_noc++
+ifeq ($(RC_ARCHS),ppc)
+LIBSYSTEM_LIBS := -lldbl128 $(LIBSYSTEM_LIBS)
+endif
+PROFILE_BUILD_LIBS := $(foreach LIB, $(LIBSYSTEM_LIBS), $(LIB)_profile) $(GCCLIBS)
+DEBUG_BUILD_LIBS := $(foreach LIB, $(LIBSYSTEM_LIBS), $(LIB)_debug) $(GCCLIBS)
# the _stub.o files need to come first to ensure that they override the default stubs
OTHER_LIBTOOL_FLAGS = $(OFILE_DIR)/spinlock_stub.o \
-lmathCommon -sectorder __TEXT __text System.order \
-segcreate __DATA __commpage $(OFILE_DIR)/CommPageSymbols.o
+ifeq ($(RC_ARCHS),ppc)
+OTHER_LIBTOOL_FLAGS += -unexported_symbols_list $(OFILE_DIR)/libgcc.unexport
+endif
+
BSD_LIBS = c info kvm m pthread dbm poll dl rpcsvc
include $(MAKEFILEPATH)/CoreOS/ProjectBuilder/Makefile.Preamble.Common