This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch to add BeOS support in libio and libstdc++
- To: gcc-patches at gcc dot gnu dot org
- Subject: Patch to add BeOS support in libio and libstdc++
- From: Jason Merrill <jason at cygnus dot com>
- Date: Wed, 12 Jan 2000 17:37:19 -0800
libio:
2000-01-12 Fred Fish <fnf@be.com>
* configure.in (*-*-beos*): Recognize.
* config/beos.mt: New file.
libstdc++:
2000-01-12 Fred Fish <fnf@be.com>
* Makefile.in (SHOPT): New macro, flag to ld to create
shared library. Defaults to "-shared".
(SHLIB): Use new SHOPT rather than hardcoded "-shared".
* configure.in: While configuring for *-*-beos*, if
--enable-shared is given, add beos.ml to list of makefile
frags.
* config/beos.ml: New file.
Index: libio/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libio/configure.in,v
retrieving revision 1.25
diff -c -p -r1.25 configure.in
*** libio/configure.in 1999/09/27 17:39:42 1.25
--- libio/configure.in 2000/01/13 01:34:51
*************** case "${target}" in
*** 63,68 ****
--- 63,69 ----
*-netware*) frags=netware.mt ;;
*-dgux*) frags=dgux.mt ;;
*vxworks*) frags="vxworks.mt" ;;
+ *-beos*) frags="beos.mt mtsafe.mt" ;;
*) frags=${target_cpu}.mt ;;
esac
Index: libio/config/beos.mt
===================================================================
RCS file: beos.mt
diff -N beos.mt
*** libio/config/beos.mt Tue May 5 13:32:27 1998
--- libio/config/beos.mt Wed Jan 12 17:34:51 2000
***************
*** 0 ****
--- 1,25 ----
+ # Use the libio which comes with the local libc.
+
+ # Comment this out to avoid including the stdio functions in libiostream.a:
+ # LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS)
+ # LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS) stdio.list
+ # LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS) `cat stdio.list`
+
+ # Comment the above and uncomment the below to use the code in the Linux libc:
+ # We have _G_config.h in /usr/include.
+ _G_CONFIG_H=
+
+ # We must not see the libio.h file from this library.
+ LIBIO_INCLUDE=
+
+ # We have those in libc.a.
+ IO_OBJECTS= iogetline.o
+ STDIO_WRAP_OBJECTS=
+ OSPRIM_OBJECTS=
+ STDIO_OBJECTS=
+
+ # We have the rest in /usr/include.
+ USER_INCLUDES=PlotFile.h SFile.h builtinbuf.h editbuf.h fstream.h \
+ indstream.h iomanip.h iostream.h istream.h ostream.h \
+ parsestream.h pfstream.h procbuf.h stdiostream.h stream.h \
+ streambuf.h strfile.h strstream.h
Index: libstdc++/Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++/Makefile.in,v
retrieving revision 1.34
diff -c -p -r1.34 Makefile.in
*** libstdc++/Makefile.in 1999/12/15 09:13:57 1.34
--- libstdc++/Makefile.in 2000/01/13 01:34:53
*************** SHLINK = libstdc++.so
*** 39,44 ****
--- 39,45 ----
MSHLINK = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
SHFLAGS =
SHDEPS =
+ SHOPT = -shared
STAMP = bigstmp
*************** marlink:
*** 102,108 ****
@$(MAKE) $(MARLINK) "ARLINK=$(MARLINK)"
$(SHLIB): piclist
! $(CC) $(LIBCXXFLAGS) $(SHFLAGS) -shared -o $(SHLIB) `cat piclist` $(SHDEPS)
$(SHARLIB): $(SHLIB)
-rm -f t$(SHARLIB)
--- 103,109 ----
@$(MAKE) $(MARLINK) "ARLINK=$(MARLINK)"
$(SHLIB): piclist
! $(CC) $(LIBCXXFLAGS) $(SHFLAGS) $(SHOPT) -o $(SHLIB) `cat piclist` $(SHDEPS)
$(SHARLIB): $(SHLIB)
-rm -f t$(SHARLIB)
Index: libstdc++/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++/configure.in,v
retrieving revision 1.30
diff -c -p -r1.30 configure.in
*** libstdc++/configure.in 1999/09/01 08:14:33 1.30
--- libstdc++/configure.in 2000/01/13 01:34:53
*************** if [ "${shared}" = "yes" ]; then
*** 68,73 ****
--- 68,74 ----
esac
case "${target}" in
*-*-aix*) frags="${frags} aix.ml" ;;
+ *-*-beos*) frags="${frags} beos.ml" ;;
*-dec-osf*) frags="${frags} dec-osf.ml";;
*-*-freebsd2*) ;;
*-*-freebsd*) frags="${frags} freebsd.ml" ;;
Index: libstdc++/config/beos.ml
===================================================================
RCS file: beos.ml
diff -N beos.ml
*** libstdc++/config/beos.ml Tue May 5 13:32:27 1998
--- libstdc++/config/beos.ml Wed Jan 12 17:34:53 2000
***************
*** 0 ****
--- 1,4 ----
+ LIBS = $(ARLIB) $(ARLINK) $(SHLIB) mshlink $(SHLINK)
+ SHFLAGS = -Wl,-soname,$(MSHLINK)
+ DEPLIBS = ../$(SHLIB)
+ SHOPT = -nostart