Commit Graph

56 Commits

Author SHA1 Message Date
Dave Korn
b602bb90e2 winsup/ChangeLog:
* Makefile.common (COMPILE_CXX): Add support for per-file overrides
	to exclude $(nostdinc) and $(nostdincxx) from compiler flags.
	(COMPILE_CC): Likewise for $(nostdinc).

winsup/cygwin/ChangeLog:

	* Makefile.in (DLL_OFILES): Add libstdcxx_wrapper.o
	(libstdcxx_wrapper_CFLAGS): Add flags for new module.
	(_cygwin_crt0_common_STDINCFLAGS): Define per-file override.
	(libstdcxx_wrapper_STDINCFLAGS, cxx_STDINCFLAGS): Likewise.
	* cxx.cc: Include "cygwin-cxx.h".
	(operator new): Tweak prototype for full standards compliance.
	(operator new[]): Likewise.
	(operator new (nothrow)): New fallback function.
	(operator new[] (nothrow), operator delete (nothrow),
	operator delete[] (nothrow)): Likewise.
	(default_cygwin_cxx_malloc): New struct of pointers to the above,
	for final last-resort fallback default.
	* cygwin-cxx.h: New file.
	(struct per_process_cxx_malloc): Define.
	(default_cygwin_cxx_malloc): Declare extern.
	* cygwin.din (__wrap__ZdaPv): Export new wrapper.
	(__wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
	__wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
	__wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
	__wrap__ZnwjRKSt9nothrow_t): Likewise.
	* globals.cc (__cygwin_user_data): Init newly-repurposed 'forkee'
	field (now 'cxx_malloc') to point to default_cygwin_cxx_malloc.
	* libstdcxx_wrapper.cc: New file.
	(__wrap__ZdaPv, __wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
	__wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
	__wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
	__wrap__ZnwjRKSt9nothrow_t): Define wrapper functions for libstdc++
	malloc operators and their overrides.
	* winsup.h (default_cygwin_cxx_malloc): Declare extern.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
	* include/sys/cygwin.h (struct per_process_cxx_malloc): Forward
	declare here.
	(struct per_process::forkee): Rename and repurpose from this ...
	(struct per_process::cxx_malloc): ... to this.
	* lib/_cygwin_crt0_common.cc: Include cygwin-cxx.h.
	(WEAK): Define shorthand helper macro.
	(__cygwin_cxx_malloc): Define and populate with weak references
	to whatever libstdc++ malloc operators will be visible at final
	link time for Cygwin apps and dlls.
	(_cygwin_crt0_common): Always look up cygwin DLL's internal
	per_process data, and don't test for (impossible) failure.  Inherit
	any members of __cygwin_cxx_malloc that we don't have overrides
	for from the DLL's default and store the resulting overall set of
	overrides back into the DLL's global per_process data.
2009-07-07 20:12:44 +00:00
Christopher Faylor
a5ac89cbbd * Makefile.common (CFLAGS_COMMON): Add -Wstrict-aliasing. 2005-10-11 18:17:59 +00:00
Christopher Faylor
c24d159222 update copyright 2005-07-26 00:38:54 +00:00
Christopher Faylor
bade737e45 * Makefile.common: Add -dD to options when creating preprocess files. 2005-03-23 03:22:27 +00:00
Christopher Faylor
8440f55d74 typo 2003-08-06 03:22:18 +00:00
Christopher Faylor
16f9bc1323 * Makefile.common: Hmm. Older compilers seem to need -nostdinc. 2003-08-06 02:35:33 +00:00
Christopher Faylor
c6f80f3e29 * Makefile.common: Don't send -nostdinc++ with g++. 2003-08-06 02:06:43 +00:00
Christopher Faylor
4b2bb1425e revert erroneous checkin 2003-07-26 01:52:52 +00:00
Christopher Faylor
c2af0de226 * Makefile.in: Only use localhost when building mingw with distcc or gcc won't
be able to find .exp files on other hosts.
2003-07-26 01:51:39 +00:00
Christopher Faylor
522483e4f6 * Makefile.common (CFLAGS_COMMON): Remove -march=i386. 2003-07-18 16:40:59 +00:00
Christopher Faylor
1847a1637d * Makefile.common (CFLAGS_COMMON): Remove -Winline since it is too noisy on
newer versions of gcc.
2003-07-02 02:30:16 +00:00
Christopher Faylor
350c2f44b8 * configure.in: Add cygserver subdir.
* Makefile.in: Ditto.
* configure: Regenerate.
* Makefile.common: Remove debugging statements.
2003-07-01 20:51:03 +00:00
Corinna Vinschen
01859fc441 * Makefile.common: Remove newlib_sys_include and
newlib_sys_include_include entirely.  Set CRT0 to cygwin/crt0.o.
2003-05-12 11:06:00 +00:00
Christopher Faylor
b128dd21af * Makefile.in: Reorganize to try to allow lack of mingw/w32api to work. 2003-04-19 01:02:51 +00:00
Christopher Faylor
770ff5bcb4 * Makefile.common (w32api_lib): Fix w32api detection. 2003-04-11 21:48:39 +00:00
Christopher Faylor
b7f68d3e9d * Makefile.common (ALL_CXXFLAGS): Make normal '=' type variable so that
CXXFLAGS is properly interpreted.
2003-03-29 04:15:52 +00:00
Christopher Faylor
eeb65b9513 * Makefile.common (w32api_lib): Default to system w32api directory if w32api is
missing from source.
2003-03-17 23:13:26 +00:00
Christopher Faylor
298b2249e6 * Makefile.common: Fix typo from previous checkin. 2003-03-17 22:35:53 +00:00
Christopher Faylor
237ab58c28 * configure.in: w32api directory was already optional. Semi-revert 2003-02-06
change.
* configure: Regenerate.
* Makefile.common: Don't specific -nostdinc if there is no w32api directory.
2003-03-17 22:27:07 +00:00
Christopher Faylor
cb837d41a7 * Makefile.common: Avoid double slashes in GCC_INCLUDE. 2003-03-09 19:22:15 +00:00
Corinna Vinschen
2c6fdb56f5 * Makefile.common (MINGW_LDFLAGS): Add mingw/mingwex builddir. 2003-01-22 17:10:02 +00:00
Christopher Faylor
4631168afc * Makefile.common: Don't attempt to pretty-print c++ errors. 2002-12-21 05:06:24 +00:00
Corinna Vinschen
24f7d30fa9 * Makefile.common: Define MINGW_LDFLAGS.
* configure.in: Reorder SUBDIRS to have mingw before cygwin.
	* configure: Regenerate from configure.in.
	* cygwin/Makefile.in: Add MINGW_LDFLAGS when linking cygrun.exe.
2002-12-12 10:34:12 +00:00
Christopher Faylor
b3c12fb401 * Makefile.in: Change COMPILE_C* definitions. 2002-08-17 02:15:05 +00:00
Christopher Faylor
9d6ac54874 * Makefile.common (MINGW_INCLUDES): Simplify.
(MINGW_CFLAGS): New.
(MINGW_CXXFLAGS): Ditto.
2002-07-07 00:42:09 +00:00
Christopher Faylor
b6ddef77a4 Add missing ChangeLog.
* configure.in: Detect zlib subdirectory.
* configure: Regenerate
2001-12-14 18:26:43 +00:00
Christopher Faylor
94597cd05f * Makefile.in: Exit immediately if a sub-make fails. 2001-12-14 18:23:19 +00:00
Christopher Faylor
ed14f73cc2 * Makefile.common: Remove preferred-stack-boundary setting since gcc 2.95.3
doesn't work well with it.
2001-11-03 19:56:52 +00:00
Christopher Faylor
d58f43a1bc * Makefile.common: Add some stuff to common CFLAGS. 2001-11-02 04:44:42 +00:00
Christopher Faylor
cb1826572c * Makefile.in: Add -nostdinc to CXXFLAGS. 2001-10-13 00:59:20 +00:00
Christopher Faylor
0055a6c6c9 * Makefile.common: Perform more include file testing trickery. 2001-10-12 12:52:05 +00:00
Christopher Faylor
bc6aa7e1b4 * Makefile.common: Avoid adding -I options to compile if they already exist in
CC or C*FLAGS.  This prevents warnings from newer versions of gcc.
2001-10-10 01:57:43 +00:00
Christopher Faylor
f162ad82fc * Makefile.common: Change method for finding current directory. 2001-05-15 05:11:55 +00:00
Corinna Vinschen
957059c831 * Makefile.common: Revert previous change. 2001-02-22 12:37:32 +00:00
Corinna Vinschen
fc168ded9e Add copyright year 2001 2001-02-21 22:59:11 +00:00
Corinna Vinschen
5b2ea3a436 * Makefile.common: Add `-fvtable-thunks' to COMPILE_CXX. 2001-02-21 21:46:47 +00:00
Christopher Faylor
8494f61e7c * Makefile.common: Eliminate checks for libgcc.a and libstdc++.a. Use CXX for
g++ compiles.
* configure.in: Find correct c++ compiler.
* configure: Regenerate.
2000-12-03 05:40:45 +00:00
Christopher Faylor
be69ad802b * Makefile.common (LIBGCC): Acommodate older gcc's that don't need libstdc++.a. 2000-10-23 04:50:32 +00:00
Christopher Faylor
de7ba863d8 flip/flop change. 2000-10-22 22:43:47 +00:00
Christopher Faylor
1cd1a02ae8 Minor change. 2000-10-22 22:32:15 +00:00
Christopher Faylor
35fd69c6c0 Test checkin. 2000-10-22 22:27:29 +00:00
Christopher Faylor
69af4b5495 Minor change. 2000-10-22 22:03:59 +00:00
Christopher Faylor
5693c8d55b * Makefile.common (LIBGCC): Find libstdc++.a as well as libc.a since builtin
functions are in this library in newer gcc's.
2000-10-21 22:01:55 +00:00
Christopher Faylor
0ce83ef6b8 * Makefile.common: Extend VERBOSE default.
* Makefile.in: Don't clean the testsuite separately.  It's already part of
CLEAN_SUBDIRS.
2000-10-02 02:05:23 +00:00
Christopher Faylor
72be82dab3 * Makefile.common: Default to VERBOSE when part of overall source
tree build.
2000-10-01 04:32:36 +00:00
Christopher Faylor
b13be6f6fb * Makefile.in: More normalization. 2000-09-01 14:20:30 +00:00
Christopher Faylor
dc941354a1 * Makefile.in: Normalize 'pwd' based on location of winsup. 2000-08-31 20:39:32 +00:00
Christopher Faylor
5f3cb291b1 * Makefile.common: Add bupdir2 to reference above the i686-pc-cygwin directory. 2000-08-24 19:05:38 +00:00
Christopher Faylor
9c20cc85aa Minor change. 2000-08-10 22:04:38 +00:00
Christopher Faylor
da2a05da2a Minor change. 2000-08-10 22:02:41 +00:00