Commit Graph

511 Commits

Author SHA1 Message Date
David E. O'Brien
e56d2b1be6 crtstuff needs isn't compilable with C99 on Sparc64, so set CSTD to gnu89. 2003-06-01 22:18:05 +00:00
Peter Wemm
ed8c5dcdc0 libstdc++.so breaks on amd64 due to bogons in our build, so prevent the
shared library being built for amd64.  The problem is that libstdc++.so
is produced with 'cc -shared'.  This has an internal -lgcc, which is
not PIC.  libstdc++.so uses exceptions and the dwarf2 unwinder, which
are in libgcc.a.  As a result, non-PIC code gets pulled into libstdc++.so.
This is fatal on amd64 when certain relocation types cannot be used in
PIC mode.  The official FSF solution to this is to have libgcc.so with
internal ELF symbol versioning to solve the ABI problem, but I dont want
to fight that battle yet.  I tried making libgcc_pic.a (which worked
fine), but thats not something for the 11th hour before a release.

Approved by:  re (amd64 "safe" stuff)
2003-05-24 19:38:18 +00:00
David E. O'Brien
cd883fb617 Use __FBSDID over rcsid[]. 2003-05-03 21:31:08 +00:00
David E. O'Brien
d2f7262ed4 This is WARNS=2 clean. 2003-05-03 21:30:34 +00:00
Alexander Kabaev
93fa8833c7 Enable wchar_t support in libstdc++. 2003-04-29 18:10:45 +00:00
David E. O'Brien
7af330a71c Enable ISO-C99 compatibility -- among other things, this tells libstdc++
not to blindly undef isnan() and other functions that became macros in C99.
Enable use of newly grown C99 functions: strtof(), strtold(), wcstof()

Submitted by:	das
2003-04-25 21:17:31 +00:00
Marcel Moolenaar
f35f81b703 Forced non-forced commit by adding a comment mentioning what the
previous commit log should have mentioned:
PR: ia64/49081
2003-03-17 00:08:47 +00:00
Marcel Moolenaar
8fb9b278d9 libobjc is linked against shared objects and since we don't have a
shared object of libobjc, we end up linking in from the archive
version. This is wrong, because we don't compile the archive version
suitable for inclusion in shared objects. On ia64 this causes actual
breakages. Compile the archive version with PIC on ia64 to avoid
the breakage there and also to avoid changing the status quo on
other architectures. If other architectures have the same problem,
we probably should start building a shared library. There's no
indication however that other architectures actually need it.

Building the archive version with PIC on ia64 does pessimize linking
complete binaries (ie fully archive), but we don't use Objective-C
ourselves and so far I haven't seen non-shared executables written
in Objective-C, so I'm sure this will be nothing but academic.

Trigger case: ports/lang/gnustep-base
2003-03-16 22:44:01 +00:00
Ruslan Ermilov
9ef2a48e97 Only cross-tools may use TARGET_ARCH/TARGET, everyone else
should use the normal MACHINE_ARCH/MACHINE instead.
2003-02-27 09:19:31 +00:00
Alexander Kabaev
61856f3619 Update for GCC 3.2.2 2003-02-19 04:28:12 +00:00
Alexander Kabaev
efb75db1a4 Install one more header file which is new with GCC 3.2.2. 2003-02-10 06:09:55 +00:00
Alexander Kabaev
8e44609c92 C++ exceptions with shared libraries are working on sparc64 now.
Build shared libstdc++so on sparc64 platform too.

Approved:	re (rwatson)
2002-12-05 17:04:03 +00:00
David E. O'Brien
b7cea4d5d2 Update for Gcc 3.2.1 release.
We also have more wide char support in libc now.
2002-12-04 17:47:34 +00:00
David E. O'Brien
5f24279c5d Remove files no longer part of the gcc_3_2_anoncvs_20021009 libstdc++.
Approved by:	re(jhb)
2002-11-27 18:52:04 +00:00
Alexander Kabaev
5f4c5b500f Build Objective-C runtime support library with thr-posix.c.
Submitted by:	davidc
Requested by:	obrien
2002-10-30 18:01:06 +00:00
Kris Kennaway
d0899afa3a Disallow libdialog to be used in setugid applications; it is chock full
of buffer overflows.

MFC after:      3 days
2002-10-12 20:32:03 +00:00
Peter Wemm
224af215a6 Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
Mark Murray
826a6331a6 Avoid linting GNU contrib'ed stuff, even if the build engineer asked
for it (via WANT_LINT). It's Just Too Noisy.
2002-09-25 09:55:20 +00:00
Alexander Kabaev
c62e08e3ac Bmake bits for GCC 3.2.1-prerelease libstdc++.
Connect two new source and one header file to the build.

Approved by:	obrien
2002-09-17 04:23:29 +00:00
Peter Wemm
66422f5b7a Initiate deorbit burn for the i386-only a.out related support. Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
Garrett Wollman
bf153e6922 Quiet another annoying warning. 2002-09-09 17:44:08 +00:00
Alexander Kabaev
948dfbed43 Connect new files added with GCC 3.2.1 import to the build.
Approved by:	obrien
2002-09-01 21:21:56 +00:00
Ruslan Ermilov
d2893b161b Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
2002-07-29 09:40:17 +00:00
Ruslan Ermilov
0b87f79976 s/${INSTALL} -c/${INSTALL} ${COPY}/ 2002-07-18 12:07:49 +00:00
Peter Wemm
bfdf38fb57 Bandaid for sparc64. Do not build libstdc++.so for now on sparc64.
Binaries compiled with it segfault.
2002-07-08 10:53:35 +00:00
David E. O'Brien
a323cdf035 Disconnect the docs until we figure out if there are any with v3. 2002-06-19 05:38:45 +00:00
Doug Barton
ca2ca2ab60 In addition to exiting the dialog via ESC, the user could also have
exited via \r, \n, or ' ' (space); all of which are valid,
non-error responses.
2002-06-13 23:39:35 +00:00
Mike Barcroft
cb263c3594 Use POSIX macros for wait(2)-style status information instead of the
deprecated 4.2/4.3BSD wait union.  Fix some nearby pid_t/int
confusion.
2002-06-03 23:13:11 +00:00
David E. O'Brien
228433f751 Turn on the math function stub stubs.
Submitted by:	Martin Blapp <mb@imp.ch>
I believe OK with:	peter
2002-06-02 17:49:08 +00:00
Ruslan Ermilov
c82593cf2c The new bsd.incs.mk is powerful enough to handle this wrinkle. 2002-05-31 11:45:34 +00:00
Garrett Wollman
0d542a4797 Add used includes of <stdlib.h>. 2002-05-30 19:49:21 +00:00
David E. O'Brien
05811fcf3a Tweak so that .o's are written into src/contrib/gcc 2002-05-29 22:26:05 +00:00
David E. O'Brien
6a6659656a Build docs not out of libobc++.295 2002-05-29 21:14:48 +00:00
Peter Wemm
b5ad6294bb Add some build glue for libstdc++. I'm not a C++ person, but this seems
to work at least for the non-hairy stuff.  The main wrinkle here is that
a whole mess of include files get installed and under different names.
An earlier version of this built a shadow include tree first in the obj
directory, but this depends on the 'make includes' functionality.

More tweaking is certainly going to be needed.
2002-05-29 00:45:51 +00:00
David E. O'Brien
8881422a08 Alpha has crtfastmath also. 2002-05-26 17:16:21 +00:00
David E. O'Brien
4d4be121e8 Rev 1.12 broke make all' w/o a previous make depends'. 2002-05-26 17:09:31 +00:00
David E. O'Brien
a443e96e31 Fix the sparc64 build and make the LIB1ASMSRC handling more robust. 2002-05-18 09:46:12 +00:00
Poul-Henning Kamp
d2f7f45a57 Improve chances that we correctly compile LIB1ASMSRC on all architectures.
sparc64 looked for the nonexistent sparc64/lb1spc.asm file instead
of the sparc/lb1spc.asm file.

arm probably looked for arm/arm/lib1funcs.asm instead of arm/lib1funcs.asm
ia64 probably looked for ia64/ia64/lib1funcs.asm instead of ia64/lib1funcs.asm

i386 and alpha don't seen to use the LIB1ASMSRC.
2002-05-18 09:21:42 +00:00
Peter Wemm
aff1ee31b8 Move LIB1ASMFUNCS from the SYMS variable and explicitly add it to OBJS
later.  Otherwise make will try and build the supposedly assembler .o
files from libgcc2.c - which does not work too well (the .o's have no
content)

Reviewed by:	obrien
2002-05-17 08:59:13 +00:00
Peter Wemm
8c258dc6ba Put on peril-sensitive sunglasses and risk touching gcc related build glue
again.  Try and deal with platforms that provide their own crtbegin/end asm
files (ia64 for example).  crtstuff.c does not actually work on ia64 since
libgcc.a doesn't have a few key support functions when built on ia64 so it
is compulsory to use crtbegin.asm and crtend.asm.

Reviewed by:	obrien
2002-05-17 07:55:08 +00:00
David E. O'Brien
03083777d9 Post rev 1.39, the PowerPC specific additions to OBJS was getting lost. 2002-05-17 04:18:33 +00:00
David E. O'Brien
d781910a94 bsd.lib.mk now understands what to do with .asm files.
So we can refer to these files by their real name vs. playing tricks
renaming them during the build.
2002-05-17 03:08:15 +00:00
David E. O'Brien
ba2789556e GCC 3.1 on PowerPC also has the crtsavres C Run Time file. 2002-05-17 03:04:47 +00:00
Ruslan Ermilov
83f56d9ae4 Make sure to not yet build the GNU C++, but still allow
for the C++ progs to be built with e.g. an old compiler,
CXX=/usr/bin/c++, for the time being.
2002-05-15 16:29:45 +00:00
David E. O'Brien
ee6b45631e Quote {CC} so ccache can be used. 2002-05-14 01:00:25 +00:00
Ruslan Ermilov
2020063860 Fixed CLEANFILES after bsd.lib.mk sweep. 2002-05-13 15:28:00 +00:00
Ruslan Ermilov
2a53f3fb35 Major cleanup of bsd.lib.mk.
Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now means to build static library only and don't install
anything.  Added a NOINSTALLLIB knob for libpam/modules.  To not
build any library at all, just do not set LIB.
2002-05-13 10:53:24 +00:00
Ruslan Ermilov
c75fbf36b1 NOLIB is gone; put INTERNALLIB back for now. 2002-05-12 16:35:34 +00:00
Ruslan Ermilov
c7b111cba8 Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
2002-05-12 16:01:00 +00:00
David E. O'Brien
357228d788 Properly build lb1spc.asm on Sparc64. 2002-05-12 14:05:58 +00:00