# along with this library; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-VERSION = 2.8.0
+VERSION = 2.9.0
+INTERFACE = 2
OBJS = cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o
SUBLIBS = $(STAMP)-string $(STAMP)-complx
cwchar cwctype string stdexcept \
algorithm deque functional hash_map hash_set iterator list map \
memory numeric pthread_alloc queue rope set slist stack utility \
- vector fstream iomanip iostream strstream iosfwd
+ vector fstream iomanip iostream strstream iosfwd bitset
-ARLIB = libstdc++.a
+ARLIB = libstdc++.a.$(VERSION)
+ARLINK = libstdc++.a
+MARLINK = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9][.][0-9]\).*/\1/'`
SHLIB = libstdc++.so.$(VERSION)
SHARLIB = libstdc++-sh.a
SHLINK = libstdc++.so
STAMP = bigstmp
-LIBS = $(ARLIB)
+LIBS = $(ARLIB) $(ARLINK)
#### package, host, target, and site dependent Makefile fragments come in here.
##
LIBIBERTY_OBJS = `cat $(LIBIBERTY_DIR)/needed-list` strerror.o
tooldir = $(exec_prefix)/$(target)
+# This is where the libraries will be installed; note, it will be set
+# at make runtime now. See below at target install.
INSTALLDIR = $(libdir)
MOSTLYCLEAN_JUNK = *stmp-* tlib*.a *.s *.ii stdlist piclist
CLEAN_JUNK = $(LIBS)
-# Remove these for public releases.
-CXXFLAGS = -g -O -Wpointer-arith -Wnested-externs -Woverloaded-virtual -Wbad-function-cast -Winline -Wwrite-strings -Weffc++
-CFLAGS = -g -O -Wpointer-arith -Wnested-externs
-
.PHONY: libs
libs: $(LIBS)
mv t$(ARLIB) $(ARLIB)
$(RANLIB) $(ARLIB)
+$(ARLINK):
+ -rm -f $(ARLINK)
+ ln -s $(ARLIB) $(ARLINK)
+
+marlink:
+ @$(MAKE) $(MARLINK) "ARLINK=$(MARLINK)"
+
$(SHLIB): piclist
$(CC) $(LIBCXXFLAGS) $(SHFLAGS) -shared -o $(SHLIB) `cat piclist` $(SHDEPS)
$(RANLIB) $(SHARLIB)
$(SHLINK):
- ln -f -s $(SHLIB) $(SHLINK)
+ -rm -f $(SHLINK)
+ ln -s $(SHLIB) $(SHLINK)
mshlink:
@$(MAKE) $(MSHLINK) "SHLINK=$(MSHLINK)"
fi ; \
chmod a-x $(gxx_include_dir)/$$FILE ; \
done ; \
- for FILE in *.h std/*.*; do \
+ for FILE in *.h std/*.h std/*.cc; do \
rm -f $(gxx_include_dir)/$$FILE ; \
$(INSTALL_DATA) $$FILE $(gxx_include_dir)/$$FILE ; \
chmod a-x $(gxx_include_dir)/$$FILE ; \
else true ; \
fi
rootme=`pwd`/ ; export rootme ; \
- rm -f $(INSTALLDIR)$(MULTISUBDIR)/$(SHLINK) ; \
+ if [ x$(enable_version_specific_runtime_libs) != xyes ]; then \
+ INSTALLDIR=$(libdir); \
+ else \
+ INSTALLDIR=$(libsubdir); \
+ fi; \
+ INSTALLLINKDIR=$(libsubdir); \
+ if [ $${INSTALLLINKDIR}$(MULTISUBDIR) = $${INSTALLDIR}$(MULTISUBDIR) ]; then \
+ RELINSTALLDIR=; \
+ elif [ x$(MULTISUBDIR) = x ]; then \
+ if [ $(build_alias) = $(target_alias) ]; then \
+ RELINSTALLDIR=../../../; \
+ else \
+ RELINSTALLDIR=../../../../$(target_alias)/lib/; \
+ fi; \
+ else \
+ if [ $(build_alias) = $(target_alias) ]; then \
+ RELINSTALLDIR=../../..`echo $(MULTISUBDIR) | sed -e 's,/[^/]*,/..,g'`$(MULTISUBDIR)/; \
+ else \
+ RELINSTALLDIR=../../../..`echo $(MULTISUBDIR) | sed -e 's,/[^/]*,/..,g'`/$(target_alias)/lib$(MULTISUBDIR)/; \
+ fi; \
+ fi; \
+ if [ $(build_alias) != $(target_alias) ]; then \
+ case $$RELINSTALLDIR in \
+ ../../../|../../../../) \
+ RELINSTALLDIR=../$${RELINSTALLDIR}$(target_alias)/lib/;; \
+ esac; \
+ fi; \
+ rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$(SHLINK) ; \
+ rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$(ARLINK) ; \
for FILE in $(LIBS) ; do \
- rm -f $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+ rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
if [ $$FILE = $(SHLINK) ] ; then \
- ln -f -s $(SHLIB) $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+ if [ -f $${INSTALLDIR}/$(MSHLINK) ]; then \
+ rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ ln -s $${RELINSTALLDIR}$(MSHLINK) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ else \
+ rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ ln -s $${RELINSTALLDIR}$(SHLIB) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ fi; \
+ elif [ $$FILE = $(ARLINK) ] ; then \
+ if [ -f $${INSTALLDIR}/$(MARLINK) ]; then \
+ rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ ln -s $${RELINSTALLDIR}$(MARLINK) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ else \
+ rm -f $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ ln -s $${RELINSTALLDIR}$(ARLIB) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \
+ fi; \
elif [ $$FILE = mshlink ]; then \
for FILE in $(MSHLINK) ; do \
- rm -f $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
- ln -f -s $(SHLIB) $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+ rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+ ln -s $(SHLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+ done; \
+ elif [ $$FILE = marlink ]; then \
+ for FILE in $(MARLINK) ; do \
+ rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+ ln -s $(ARLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
done; \
elif [ $$FILE = $(SHLIB) ]; then \
- $(INSTALL_PROGRAM) $$FILE $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+ $(INSTALL_PROGRAM) $$FILE $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
: On the HP, shared libraries must be mode 555. ;\
- chmod 555 $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+ chmod 555 $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
else \
- $(INSTALL_DATA) $$FILE $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
- $(RANLIB) $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
- chmod a-x $(INSTALLDIR)$(MULTISUBDIR)/$$FILE ; \
+ $(INSTALL_DATA) $$FILE $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+ $(RANLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
+ chmod a-x $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \
fi ; \
done
@rootme=`pwd`/ ; export rootme ; \
.PHONY: force
force:
+# Remove these for public releases.
+MYCXXFLAGS = -g -O2 -Wpointer-arith -Wnested-externs -Woverloaded-virtual -Wbad-function-cast -Winline -Wwrite-strings
+MYCFLAGS = -g -O2 -Wpointer-arith -Wnested-externs
+
.PHONY: stuff
stuff:
- $(MAKE) clean
- $(MAKE) -C ../libio c++clean
- -$(MAKE) $(MAKEFLAGS) check
- -$(MAKE) -C ../libio check
- -$(MAKE) -C ../gcc check-g++
+ $(MAKE) stuff1
+ $(MAKE) stuff2
stuff1:
$(MAKE) clean
$(MAKE) -C ../libio c++clean
+ touch ../../gcc/libgcc2.ready
stuff2:
- -$(MAKE) check
+ -$(MAKE) -C ../../gcc/ libgcc.a
+ -$(MAKE) check CXXFLAGS="$(MYCXXFLAGS)" CFLAGS="$(MYCFLAGS)"
-$(MAKE) -C ../libio check
- -$(MAKE) -C ../gcc check-g++
+ -$(MAKE) -C ../../gcc check-g++