Commit Graph

68 Commits

Author SHA1 Message Date
Jon Turney 08f5cc2ef4
Cygwin: Remove nostdlib Makefile variable
It's used in one place, and it's value is unconditional.
2020-10-21 17:11:02 +01:00
Jon Turney b55e3f1916
Cygwin: Remove ccwrap
ccwrap massages the compiler's standard include directories to remove
'/usr/include/w32api', with the intent of allowing it to be overriden by
'--with-windows-headers' (See 4c36016b).

I'm not 100% convinced that this is always working as desired, since in
some places w32api includes are done using <w32api/something.h>, which
will find them via the path /usr/include.

If this does turn out to be needed, this could also be implemented by
constructing the appropriate compiler flags once, rather than on every
compiler invocation.
2020-10-18 14:55:13 +01:00
Corinna Vinschen 6e623e9320 Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout option
Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause.

Everything else stays under GPLv3+.

New Linking Exception exempts resulting executables from LGPLv3 section 4.

Add CONTRIBUTORS file to keep track of licensing.

Remove 'Copyright Red Hat Inc' comments.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-06-23 10:09:17 +02:00
Yaakov Selkowitz 85a7b23a5c * Makefile.common (COMPILE.cc): Add -fno-use-cxa-atexit. 2014-08-07 16:19:09 +00:00
Corinna Vinschen 6485b9c274 * Makefile.common: Don't drop -gFOO switches when filtering CFLAGS
and CXXFLAGS.
2014-01-22 18:00:24 +00:00
Corinna Vinschen c381968842 * Makefile.common: Add rule to build assembler code.
(.SUFFIXES): Add .S.
2013-06-18 09:45:16 +00:00
Christopher Faylor 4c36016b57 ChangeLog:
2012-11-12  Christopher Faylor  <me.cygwin2012@cgf.cx>

	* Makefile.common: Revamp for new configury.  Add default compilation
	targets, include .E processing.  Add magic for allowing "CFLAGS" to
	control optimization options in "CXXFLAGS".
	* configure.cygwin: New include for Cygwin configure.in's.
	* acinclude.m4: Delete old definitions.  Implement AC_WINDOWS_HEADERS,
	AC_WINDOWS_LIBS, AC_CYGWIN_INCLUDES, target_builddir, winsup_srcdir.
	* aclocal.m4: Regenerate.
	* autogen.sh: New file.
	* ccwrap: New script.
	* c++wrap: New script.
	* config.guess: New script.
	* config.sub: New script.
	* configure: Regenerate.
	* configure.in: Eliminate LIB_AC_PROG_* calls in favor of standard.
	Delete ancient target test.
	* install-sh: New script.

cygserver/ChangeLog:
2012-11-12  Christopher Faylor  <me.cygwin2012@cgf.cx>

	* Makefile.in: Revamp for new configury.
	* configure.in: Revamp for new configury.
	* aclocal.m4: Regenerate.
	* configure: Ditto.
	* autogen.sh: New script.

cygwin/ChangeLog:
2012-11-22  Christopher Faylor  <me.cygwin2012@cgf.cx>

	* select.cc (select): Don't return -1 when we've timed out after
	looping.

2012-11-22  Christopher Faylor  <me.cygwin2012@cgf.cx>

	* Makefile.in: Revamp for new configury.
	(datarootdir): Add variable setting.
	(winver_stamp): Accommodate changes to mkvers.sh setting.
	(libc.a): Fix race when libm.a might not have been built yet.
	* configure.in: Revamp for new configury.
	* aclocal.m4: Regenerate.
	* configure: Ditto.
	* autogen.sh: New script.
	* mkvers.sh: Find include directives via CFLAGS and friends rather than
	assuming that w32api lives nearby.

utils/ChangeLog:
2012-11-12  Christopher Faylor  <me.cygwin2012@cgf.cx>

	* aclocal.m4: Regenerate.
	* configure: Ditto.
	* autogen.sh: New script.
	* configure.in: Revamp for new configury.
	* Makefile.in: Revamp for new configury.  Rename ALL_* to just *.
	Always use "VERBOSE" setting.
	(MINGW_CXX): Don't include CFLAGS in definition.
	(all): Define target first, before everything else so that it is the
	default.
	(ps.exe): Don't add useless -lcygwin.
	(ldh.exe): For consistency, add to existing MINGW_LDFLAGS rather than
	redefining them.
	(cygcheck.exe): Always include -lz for MINGW_LDFLAGS.  Don't try to
	figure out where to find it.
	(dumper.exe): Simplify check.  Assume libraries are installed rather
	than trying to retrieve from source tree.
	(install): Just use /bin/mkdir to create directories.
	(Makefile): Regenerate when standard dependencies change.
	* dump_setup.cc: Always include zlib.h.  Remove accommodations for it
	possibly not existing.
	* parse_pe.cc: Add define which allows building with installed
	binutils package.
	* dumper.cc: Ditto.
2012-11-23 13:22:47 +00:00
Corinna Vinschen 5b31f27f6d winsup:
* Makefile.common (zlib_source): Remove.
	(zlib_build): Remove.
	(bz2lib_source): Remove.
	(bz2lib_build): Remove.
	(w32api_source): Remove.
	(w32api_build): Remove.
	(w32api_lib): Remove.
	(mingw_build): Remove.
	(mingw_source): Remove.
	($(w32api_lib)/%.a): Remove rule.
	* Makefile.in (ZLIB): Remove.
	($(SUBDIRS)): Drop mingw check.
	(mingw): Remove rule.
	(install_mingw): Ditto.
	* configure.in: Remove support for mingw as build target.
	* configure: Regenerate.

utils:

	* Makefile.in ($(MINGW_BINS)): Drop -B$(mingw_build)/ from build
	expression.
2012-11-07 16:32:08 +00:00
Yaakov Selkowitz 68157644d1 2012-10-24 Kai Tietz <ktietz70@googlemail.com>
Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>
	    Corinna Vinschen  <corinna@vinschen.de>

	* configure.in [cygwin*]: Always build cygserver, lsaauth,
	utils, and doc.  Do not build mingw or w32api.
	[mingw*]: Build w32api if present.
	* configure: Regenerate.
	* Makefile.common: Remove references to mingw and w32api
	directories.
	(MINGW_LDFLAGS): Redefine as -static to force static linking
	with libgcc and libstdc++.
	* Makefile.in: Remove references to mingw and w32api directories
	from Cygwin targets.
2012-10-24 10:11:15 +00:00
Christopher Faylor 7d8b0c8447 * Makefile.common (CFLAGS_COMMON): Add temporary define to work around w32api
problem.

* cygwin/winlean.h: Define constant which will be needed eventually.  Remove
hack in favor of another hack.
* cygwin/lib/crt0.h: Use "winlean.h".
2012-07-30 04:43:22 +00:00
Corinna Vinschen 0390476c47 * Makefile.common (ALL_CFLAGS): Change := to = to allow overriding in
dependent Makefiles.
2012-07-06 10:32:11 +00:00
Corinna Vinschen df8c8e18eb * Makefile.common (MINGW_LDFLAGS): Correctly use -L rather than -B here. 2012-01-09 09:50:44 +00:00
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