first commit

This commit is contained in:
Jose Caban
2025-06-07 11:34:38 -04:00
commit 0eb2d7c07d
4708 changed files with 1500614 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
# -*- makefile -*- Time-stamp: <08/06/12 14:58:49 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
OPT += -xcode=pic32
dbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -G -Qoption ld -z,initfirst -h$(SO_NAMExx) ${NOSTDLIB}
DEPENDS_COLLECTION_SUNPRO := $(DEPENDS_COLLECTION).sunpro
compiler-dep :: $(DEPENDS_COLLECTION_SUNPRO)
STD_HEADER_LISTS = $(STLPORT_ETC_DIR)/std_headers.txt \
$(STLPORT_ETC_DIR)/std_headers_cpp_runtime_h.txt \
$(STLPORT_ETC_DIR)/std_headers_c.txt \
$(STLPORT_ETC_DIR)/std_headers_c_h.txt \
$(STLPORT_ETC_DIR)/std_headers_classic_iostreams.txt \
$(STLPORT_ETC_DIR)/std_headers_cpp_runtime.txt
$(DEPENDS_COLLECTION_SUNPRO) : $(STD_HEADER_LISTS)
@echo "Linking header files required for SunPro compiler"
@for file in `cat $(STD_HEADER_LISTS)`; do \
echo "." | awk '{printf("%s", $$0)}' ; \
(cd $(STLPORT_INCLUDE_DIR) ; rm -f $$file.SUNWCCh; ln -s ./$$file $$file.SUNWCCh) ; \
done; echo ""
@cat $(STD_HEADER_LISTS) | awk '{print "$(STLPORT_INCLUDE_DIR)/" $$0 ".SUNWCCh : $(STLPORT_INCLUDE_DIR)/" $$0 }' > $@

View File

@@ -0,0 +1,14 @@
# -*- makefile -*- Time-stamp: <08/06/12 14:59:23 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
dbg-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAME_DBGxx)
stldbg-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAME_STLDBGxx)
release-shared: LDFLAGS += -b +nostl -Wl,+h$(SO_NAMExx)

View File

@@ -0,0 +1,83 @@
# -*- makefile -*- Time-stamp: <07/05/31 01:29:22 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
release-shared : LDFLAGS += -Tpd -w -w-dup
dbg-shared : LDFLAGS += -Tpd -w -w-dup
stldbg-shared : LDFLAGS += -Tpd -w -w-dup
ifneq ($(OSNAME),linux)
release-shared : LDFLAGS += -V4.0 -Gi
dbg-shared : LDFLAGS += -V4.0 -Gi
stldbg-shared : LDFLAGS += -V4.0 -Gi
release-shared : OPT += -tWD
dbg-shared : OPT += -tWD
stldbg-shared : OPT += -tWD
START_OBJ := c0d32.obj
else
release-shared : OPT += -tD -VP
dbg-shared : OPT += -tD -VP
stldbg-shared : OPT += -tD -VP
release-shared: DEFS += -D_DLL
dbg-shared: DEFS += -D_DLL
stldbg-shared: DEFS += -D_DLL
START_OBJ := borinitso.o
endif
# optimization and debug compiler flags
dbg-static : OPT += -R -v -y
dbg-shared : OPT += -R -v -y
stldbg-static : OPT += -R -v -y
stldbg-shared : OPT += -R -v -y
dbg-shared : LDFLAGS += -v
dbg-static : LDFLAGS += -v
stldbg-shared : LDFLAGS += -v
stldbg-static : LDFLAGS += -v
install-shared: install-release-shared install-dbg-shared install-stldbg-shared
install: install-shared
ifneq ($(OSNAME),linux)
install-dbg-shared: install-dbg-shared-tds
install-stldbg-shared: install-stldbg-shared-tds
endif
BASE_LIBNAME := $(LIB_PREFIX)${LIBNAME}${LIB_TYPE}${LIB_SUFFIX}
BASE_LIBNAME_DBG := $(LIB_PREFIX)${LIBNAME}${DBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
BASE_LIBNAME_STLDBG := $(LIB_PREFIX)${LIBNAME}${STLDBG_SUFFIX}${LIB_TYPE}${LIB_SUFFIX}
BASE_LIBNAMES = ${BASE_LIBNAME} ${BASE_LIBNAME_DBG} ${BASE_LIBNAME_STLDBG}
BASE_LIB_EXTS = lib dll tds map res
LIB_FILES := $(foreach n,$(BASE_LIBNAMES),$(foreach e,$(BASE_LIB_EXTS),$(n).$(e)))
install-dbg-shared-tds:
$(INSTALL_SO) $(OUTPUT_DIR_DBG)/${BASE_LIBNAME_DBG}.tds $(INSTALL_BIN_DIR)/
install-stldbg-shared-tds:
$(INSTALL_SO) $(OUTPUT_DIR_STLDBG)/${BASE_LIBNAME_STLDBG}.tds $(INSTALL_BIN_DIR)/
clean::
$(foreach d,$(OUTPUT_DIRS),$(foreach f,$(LIB_FILES),@rm -f $(d)/$(f)))
uninstall::
$(foreach d,$(INSTALL_DIRS),$(foreach f,$(LIB_FILES),@rm -f $(d)/$(f)))
$(foreach d,$(INSTALL_DIRS),@-rmdir -p $(d) 2>/dev/null)

View File

@@ -0,0 +1,115 @@
# -*- makefile -*- Time-stamp: <07/05/31 22:15:12 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
define lib_clean
clean::
@-rm -f $${$(1)_SO_NAME_OUT}
@-rm -f $${$(1)_SO_NAME_OUTx}
@-rm -f $${$(1)_SO_NAME_OUTxx}
@-rm -f $${$(1)_SO_NAME_OUTxxx}
@-rm -f $${$(1)_SO_NAME_OUT_DBG}
@-rm -f $${$(1)_SO_NAME_OUT_DBGx}
@-rm -f $${$(1)_SO_NAME_OUT_DBGxx}
@-rm -f $${$(1)_SO_NAME_OUT_DBGxxx}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBG}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGx}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGxx}
@-rm -f $${$(1)_SO_NAME_OUT_STLDBGxxx}
@-rm -f $${$(1)_A_NAME_OUT}
@-rm -f $${$(1)_A_NAME_OUT_DBG}
@-rm -f $${$(1)_A_NAME_OUT_STLDBG}
ifeq ($(OSNAME), cygming)
@-rm -f $${$(1)_LIB_NAME_OUT}
@-rm -f $${$(1)_LIB_NAME_OUT_DBG}
@-rm -f $${$(1)_LIB_NAME_OUT_STLDBG}
@-rm -f $${$(1)_RES}
@-rm -f $${$(1)_RES_DBG}
@-rm -f $${$(1)_RES_STLDBG}
ifneq ($(OSREALNAME), mingw)
@-rm -f ${LSUPC++DEF}
endif
endif
uninstall::
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAME)
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMEx)
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExx)
@-rm -f $$(INSTALL_LIB_DIR)/$$($(1)_SO_NAMExxx)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBG)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGx)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxx)
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$$($(1)_SO_NAME_DBGxxx)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBG)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGx)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxx)
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$$($(1)_SO_NAME_STLDBGxxx)
@-rm -f $$(INSTALL_LIB_DIR)/$${$(1)_A_NAME_OUT}
@-rm -f $$(INSTALL_LIB_DIR_DBG)/$${$(1)_A_NAME_OUT_DBG}
@-rm -f $$(INSTALL_LIB_DIR_STLDBG)/$${$(1)_A_NAME_OUT_STLDBG}
@-rmdir -p $$(INSTALL_LIB_DIR) $$(INSTALL_LIB_DIR_DBG) $$(INSTALL_LIB_DIR_STLDBG) 2>/dev/null
endef
$(foreach nm,$(LIBNAMES),$(eval $(call lib_clean,$(nm))))
clean::
ifdef LIBNAME
@-rm -f ${SO_NAME_OUT}
@-rm -f ${SO_NAME_OUTx}
@-rm -f ${SO_NAME_OUTxx}
@-rm -f ${SO_NAME_OUTxxx}
@-rm -f ${SO_NAME_OUT_DBG}
@-rm -f ${SO_NAME_OUT_DBGx}
@-rm -f ${SO_NAME_OUT_DBGxx}
@-rm -f ${SO_NAME_OUT_DBGxxx}
@-rm -f ${SO_NAME_OUT_STLDBG}
@-rm -f ${SO_NAME_OUT_STLDBGx}
@-rm -f ${SO_NAME_OUT_STLDBGxx}
@-rm -f ${SO_NAME_OUT_STLDBGxxx}
@-rm -f ${A_NAME_OUT}
@-rm -f ${A_NAME_OUT_DBG}
@-rm -f ${A_NAME_OUT_STLDBG}
ifeq ($(OSNAME), cygming)
@-rm -f ${LIB_NAME_OUT}
@-rm -f ${LIB_NAME_OUT_DBG}
@-rm -f ${LIB_NAME_OUT_STLDBG}
@-rm -f ${RES}
@-rm -f ${RES_DBG}
@-rm -f ${RES_STLDBG}
ifneq ($(OSREALNAME), mingw)
@-rm -f ${LSUPC++DEF}
endif
endif
endif
distclean::
@-rm -f $(DEPENDS_COLLECTION)
@-rmdir -p $(AUX_DIR) ${OUTPUT_DIR} ${OUTPUT_DIR_DBG} ${OUTPUT_DIR_STLDBG} 2>/dev/null
uninstall::
ifdef LIBNAME
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAME)
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMEx)
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExx)
@-rm -f $(INSTALL_LIB_DIR)/$(SO_NAMExxx)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBG)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGx)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGxx)
@-rm -f $(INSTALL_LIB_DIR_DBG)/$(SO_NAME_DBGxxx)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBG)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGx)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGxx)
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/$(SO_NAME_STLDBGxxx)
@-rm -f $(INSTALL_LIB_DIR)/${A_NAME_OUT}
@-rm -f $(INSTALL_LIB_DIR_DBG)/${A_NAME_OUT_DBG}
@-rm -f $(INSTALL_LIB_DIR_STLDBG)/${A_NAME_OUT_STLDBG}
endif
@-rmdir -p $(INSTALL_LIB_DIR) $(INSTALL_LIB_DIR_DBG) $(INSTALL_LIB_DIR_STLDBG) 2>/dev/null

View File

@@ -0,0 +1,25 @@
# -*- makefile -*- Time-stamp: <07/05/31 01:29:36 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Copyright (c) 2006, 2007
# Francois Dumont
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
release-shared: OPT += -WD
dbg-shared: OPT += -WD
stldbg-shared: OPT += -WD
release-shared: LDFLAGS += /DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR)/$(SO_NAME_BASE).lib)
dbg-shared: LDFLAGS += /CODEVIEW/DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).lib)
stldbg-shared: LDFLAGS += /CODEVIEW/DELEXECUTABLE/IMPLIB:$(subst /,\\,$(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).lib)
DEF_OPTION = $(OUTPUT_DIR)/$(SO_NAME_BASE).def
DEF_OPTION_DBG = $(OUTPUT_DIR_DBG)/$(SO_NAME_DBG_BASE).def
DEF_OPTION_STLDBG = $(OUTPUT_DIR_STLDBG)/$(SO_NAME_STLDBG_BASE).def

View File

@@ -0,0 +1,311 @@
# -*- makefile -*- Time-stamp: <08/06/12 15:48:58 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Oh, the commented below work for gmake 3.78.1 and above,
# but phrase without tag not work for it. Since gmake 3.79
# tag with assignment fail, but work assignment for all tags
# (really that more correct).
ifneq ($(OSNAME), cygming)
OPT += -fPIC
endif
ifndef NOT_USE_NOSTDLIB
ifeq ($(CXX_VERSION_MAJOR),2)
# i.e. gcc before 3.x.x: 2.95, etc.
# gcc before 3.x don't had libsupc++.a and libgcc_s.so
# exceptions and operators new are in libgcc.a
# Unfortunatly gcc before 3.x has a buggy C++ language support outside stdc++, so definition of STDLIBS below is commented
NOT_USE_NOSTDLIB := 1
#STDLIBS := $(shell ${CXX} -print-file-name=libgcc.a) -lpthread -lc -lm
endif
ifeq ($(CXX_VERSION_MAJOR),3)
# gcc before 3.3 (i.e. 3.0.x, 3.1.x, 3.2.x) has buggy libsupc++, so we should link with libstdc++ to avoid one
ifeq ($(CXX_VERSION_MINOR),0)
NOT_USE_NOSTDLIB := 1
endif
ifeq ($(CXX_VERSION_MINOR),1)
NOT_USE_NOSTDLIB := 1
endif
ifeq ($(CXX_VERSION_MINOR),2)
NOT_USE_NOSTDLIB := 1
endif
endif
endif
ifndef NOT_USE_NOSTDLIB
ifeq ($(OSNAME),linux)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),openbsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),freebsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),netbsd)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),sunos)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),darwin)
_USE_NOSTDLIB := 1
endif
ifeq ($(OSNAME),cygming)
_USE_NOSTDLIB := 1
endif
endif
ifndef WITHOUT_STLPORT
ifeq (${STLPORT_LIB_DIR},)
ifneq ($(OSNAME),cygming)
release-shared: STLPORT_LIB = -lstlport
dbg-shared: STLPORT_LIB = -lstlportg
stldbg-shared: STLPORT_LIB = -lstlportstlg
else
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
release-shared: STLPORT_LIB = -lstlport.${LIB_VERSION}
dbg-shared: STLPORT_LIB = -lstlportg.${LIB_VERSION}
stldbg-shared: STLPORT_LIB = -lstlportstlg.${LIB_VERSION}
endif
else
# STLPORT_LIB_DIR not empty
ifneq ($(OSNAME),cygming)
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg
else
LIB_VERSION = ${LIBMAJOR}.${LIBMINOR}
release-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlport.${LIB_VERSION}
dbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportg.${LIB_VERSION}
stldbg-shared: STLPORT_LIB = -L${STLPORT_LIB_DIR} -lstlportstlg.${LIB_VERSION}
endif
endif
endif
ifdef _USE_NOSTDLIB
NOSTDLIB :=
# Check whether gcc builded with --disable-shared
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_eh.a),libgcc_eh.a)
# gcc builded with --disable-shared, (no library libgcc_eh.a); all exception support in libgcc.a
_LGCC_EH :=
_LGCC_S := -lgcc
else
# gcc builded with --enable-shared (default)
ifdef USE_STATIC_LIBGCC
# if force usage of static libgcc, then exceptions support should be taken from libgcc_eh
_LGCC_EH := -lgcc_eh
_LGCC_S := -lgcc
else
#ifneq ($(OSNAME),darwin)
# 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 mkdir -p $(PRE_OUTPUT_DIR) && 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.
ifeq ($(OSNAME),linux)
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
#START_A_OBJ := $(shell for o in crti.o crtbeginT.o; do ${CXX} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),openbsd)
START_OBJ := $(shell for o in crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),freebsd)
# FreeBSD < 5.3 should use -lc_r, while FreeBSD >= 5.3 use -lpthread
PTHR := $(shell if [ ${OSREL_MAJOR} -gt 5 ] ; then echo "pthread" ; else if [ ${OSREL_MAJOR} -lt 5 ] ; then echo "c_r" ; else if [ ${OSREL_MINOR} -lt 3 ] ; then echo "c_r" ; else echo "pthread"; fi ; fi ; fi)
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -l${PTHR} -lc -lm
endif
ifeq ($(OSNAME),netbsd)
START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS = -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm
endif
ifeq ($(OSNAME),sunos)
START_OBJ := $(shell for o in crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done)
STDLIBS := -Wl,-zallextract -lsupc++ ${_LGCC_EH} -Wl,-zdefaultextract ${_LGCC_S} -lpthread -lc -lm
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 :=
# -all_load don't demonstrate any visible effect, looks like
# this is dummy option; but nevertheless, with _LSUPCPP_AUX_OBJ
# trick (as in static library) we can resolve problem, in potential
ifdef GCC_APPLE_CC
STDLIBS := ${_LGCC_S} -lc -lm -all_load ${_LSUPCPP} ${_LGCC_EH}
else
LDFLAGS += -single_module
STDLIBS := ${_LGCC_S} -lc -lm -all_load -lsupc++ ${_LGCC_EH}
endif
endif
#END_A_OBJ := $(shell for o in crtn.o; do ${CXX} -print-file-name=$$o; done)
# endif
ifneq ($(OSNAME),cygming)
NOSTDLIB := -nostdlib
else
NOSTDLIB := -nodefaultlibs
ifndef USE_STATIC_LIBGCC
ifeq ($(shell ${CXX} ${CXXFLAGS} -print-file-name=libgcc_s.a),libgcc_s.a)
_LGCC_S := -lgcc
else
_LGCC_S := -lgcc_s
endif
else
_LGCC_S := -lgcc
endif
ifeq ($(OSREALNAME),mingw)
STDLIBS = -lsupc++ ${_LGCC_S} -lm -lmoldname -lmingw32 -lmingwex -lmsvcrt -lkernel32
else
LIBSUPC++ := $(shell ${CXX} ${CXXFLAGS} -print-file-name=libsupc++.a)
LSUPC++DEF := $(PRE_OUTPUT_DIR)/libsupc++.def
$(LSUPC++DEF) : $(LIBSUPC++)
dlltool --export-all-symbols --output-def=$(LSUPC++DEF) $(LIBSUPC++)
ifneq (,$(findstring no-cygwin,$(EXTRA_CXXFLAGS)))
STDLIBS = -Wl,-whole-archive -lsupc++ -Wl,-no-whole-archive ${_LGCC_S} -lm -lmoldname -lmingw32 -lmingwex -lmsvcrt -lkernel32
else
STDLIBS = -Wl,-whole-archive -lsupc++ -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lm -lc -lkernel32
endif
endif
endif
else
ifndef WITHOUT_STLPORT
ifndef STLP_BUILD
STDLIBS = ${STLPORT_LIB}
else
STDLIBS =
endif
else
STDLIBS =
endif
endif
ifneq ($(OSNAME),darwin)
dbg-shared: LDFLAGS += -shared
stldbg-shared: LDFLAGS += -shared
release-shared: LDFLAGS += -shared
endif
ifeq ($(OSNAME),hp-ux)
dbg-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAME_DBGxx)
stldbg-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAME_STLDBGxx)
release-shared: LDFLAGS += -Wl,-dynamic -Wl,+h$(SO_NAMExx)
endif
ifeq ($(OSNAME),sunos)
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
endif
ifeq ($(OSNAME),linux)
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
endif
ifeq ($(OSNAME),cygming)
ifndef USE_STATIC_LIBGCC
dbg-shared: LDFLAGS += -shared-libgcc
stldbg-shared: LDFLAGS += -shared-libgcc
release-shared: LDFLAGS += -shared-libgcc
endif
dbg-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT_DBG},--enable-auto-image-base ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT_STLDBG},--enable-auto-image-base ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,--out-implib=${LIB_NAME_OUT},--enable-auto-image-base ${NOSTDLIB}
dbg-static: LDFLAGS += -static
stldbg-static: LDFLAGS += -static
release-static: LDFLAGS += -static
endif
ifeq ($(OSNAME),freebsd)
dbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-h$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-h$(SO_NAMExx) ${NOSTDLIB}
endif
ifeq ($(OSNAME),darwin)
CURRENT_VERSION := ${MAJOR}.${MINOR}.${PATCH}
COMPATIBILITY_VERSION := $(CURRENT_VERSION)
dbg-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -dynamic -dynamiclib -compatibility_version $(COMPATIBILITY_VERSION) -current_version $(CURRENT_VERSION) -install_name $(SO_NAMExx) ${NOSTDLIB}
dbg-static: LDFLAGS += -staticlib
stldbg-static: LDFLAGS += -staticlib
release-static: LDFLAGS += -staticlib
endif
ifeq ($(OSNAME),openbsd)
dbg-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAME_DBGxx) ${NOSTDLIB}
stldbg-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAME_STLDBGxx) ${NOSTDLIB}
release-shared: LDFLAGS += -Wl,-soname -Wl,$(SO_NAMExx) ${NOSTDLIB}
endif

View File

@@ -0,0 +1,19 @@
# -*- makefile -*- Time-stamp: <08/06/12 15:00:07 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2008
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
OPT += -KPIC
ifeq ($(OSNAME),linux)
dbg-shared: LDFLAGS += -shared -Wl,-h$(SO_NAME_DBGxx)
stldbg-shared: LDFLAGS += -shared -Wl,-h$(SO_NAME_STLDBGxx)
release-shared: LDFLAGS += -shared -Wl,-h$(SO_NAMExx)
endif

View File

@@ -0,0 +1,38 @@
# -*- makefile -*- Time-stamp: <07/05/31 22:11:48 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Static libraries tags
PHONY += release-static dbg-static stldbg-static
ifneq ($(_LSUPCPP_OBJ),"")
$(_LSUPCPP_AUX_TSMP): $(_LSUPCPP)
if [ ! -d $(AUX_DIR) ]; then mkdir -p $(AUX_DIR); fi
cd $(AUX_DIR); $(AR) xo $(_LSUPCPP) && touch -r $(_LSUPCPP) $(_LSUPCPP_TSMP)
endif
release-static: $(OUTPUT_DIR_A) ${A_NAME_OUT}
dbg-static: $(OUTPUT_DIR_A_DBG) ${A_NAME_OUT_DBG}
stldbg-static: $(OUTPUT_DIR_A_STLDBG) ${A_NAME_OUT_STLDBG}
${A_NAME_OUT}: $(OBJ_A) $(_LSUPCPP_AUX_TSMP)
rm -f $@
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A) $(_LSUPCPP_AUX_OBJ)
${A_NAME_OUT_DBG}: $(OBJ_A_DBG) $(_LSUPCPP_AUX_TSMP)
rm -f $@
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A_DBG) $(_LSUPCPP_AUX_OBJ)
${A_NAME_OUT_STLDBG}: $(OBJ_A_STLDBG) $(_LSUPCPP_AUX_TSMP)
rm -f $@
$(AR) $(AR_INS_R) $(AR_OUT) $(OBJ_A_STLDBG) $(_LSUPCPP_AUX_OBJ)

View File

@@ -0,0 +1,34 @@
# -*- makefile -*- Time-stamp: <06/11/02 10:34:43 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005, 2006
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
PHONY += install-release-static install-dbg-static install-stldbg-static
install-release-static: release-static
@if [ ! -d $(INSTALL_LIB_DIR) ] ; then \
mkdir -p $(INSTALL_LIB_DIR) ; \
fi
$(INSTALL_A) ${A_NAME_OUT} $(INSTALL_LIB_DIR)
install-dbg-static: dbg-static
@if [ ! -d $(INSTALL_LIB_DIR_DBG) ] ; then \
mkdir -p $(INSTALL_LIB_DIR_DBG) ; \
fi
$(INSTALL_A) ${A_NAME_OUT_DBG} $(INSTALL_LIB_DIR_DBG)
ifndef WITHOUT_STLPORT
install-stldbg-static: stldbg-static
@if [ ! -d $(INSTALL_LIB_DIR_STLDBG) ] ; then \
mkdir -p $(INSTALL_LIB_DIR_STLDBG) ; \
fi
$(INSTALL_A) ${A_NAME_OUT_STLDBG} $(INSTALL_LIB_DIR_STLDBG)
endif

View File

@@ -0,0 +1,37 @@
# -*- makefile -*- Time-stamp: <07/06/08 23:34:51 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
LDFLAGS ?=
ifneq ("$(findstring $(OSNAME),darwin cygming)","")
include ${RULESBASE}/gmake/${OSNAME}/lib.mak
else
include ${RULESBASE}/gmake/unix/lib.mak
endif
include ${RULESBASE}/gmake/lib/${COMPILER_NAME}.mak
ifneq ("$(findstring $(OSNAME),cygming)","")
include ${RULESBASE}/gmake/${OSNAME}/rules-so.mak
else
include ${RULESBASE}/gmake/unix/rules-so.mak
endif
include ${RULESBASE}/gmake/lib/rules-a.mak
ifneq ("$(findstring $(OSNAME),cygming)","")
include ${RULESBASE}/gmake/${OSNAME}/rules-install-so.mak
else
include ${RULESBASE}/gmake/unix/rules-install-so.mak
endif
include ${RULESBASE}/gmake/lib/rules-install-a.mak
include ${RULESBASE}/gmake/lib/clean.mak

View File

@@ -0,0 +1,40 @@
# -*- makefile -*- Time-stamp: <07/03/08 21:35:57 ptr>
#
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
# Petr Ovtchenkov
#
# Portion Copyright (c) 1999-2001
# Parallel Graphics Ltd.
#
# Licensed under the Academic Free License version 3.0
#
# Oh, the commented below work for gmake 3.78.1 and above,
# but phrase without tag not work for it. Since gmake 3.79
# tag with assignment fail, but work assignment for all tags
# (really that more correct).
LDLIBS ?=
LDSEARCH += /LIBPATH:"$(MSVC_LIB_DIR)"
dbg-shared: OPT += /MDd
stldbg-shared: OPT += /MDd
release-shared: OPT += /MD
release-shared-dep: OPT += /MD
dbg-static: OPT += /MTd
stldbg-static: OPT += /MTd
release-static: OPT += /MT
release-static: DEFS += /D_LIB
dbg-static: DEFS += /D_LIB
stldbg-static: DEFS += /D_LIB
dbg-shared: LDFLAGS += /DLL ${LDSEARCH}
stldbg-shared: LDFLAGS += /DLL ${LDSEARCH}
release-shared: LDFLAGS += /DLL ${LDSEARCH}
dbg-static: LDFLAGS += ${LDSEARCH}
stldbg-static: LDFLAGS += ${LDSEARCH}
release-static: LDFLAGS += ${LDSEARCH}
LDFLAGS += /VERSION:$(MAJOR).$(MINOR)