diff options
author | Aaron W. LaFramboise <aaronavay62@aaronwl.com> | 2008-08-31 12:14:25 -0600 |
---|---|---|
committer | Aaron W. LaFramboise <aaronwl@gcc.gnu.org> | 2008-08-31 12:14:25 -0600 |
commit | d89f0ad6225ed957153f92edf50f06890193c32f (patch) | |
tree | 349007eb9608d2d70057524bcd0d030010875820 /gcc/config/i386/t-cygming | |
parent | 3e196fa9b9e3d7ce3b23e11f6517a6439506a2bc (diff) | |
download | gcc-d89f0ad6225ed957153f92edf50f06890193c32f.tar.gz |
configure.ac (RPATH_ENVVAR): Use PATH on Windows.
2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
<toplevel>
* configure.ac (RPATH_ENVVAR): Use PATH on Windows.
(GCC_SHLIB_SUBDIR): New.
* Makefile.tpl (HOST_LIB_PATH_gcc): Use GCC_SHLIB_SUBDIR.
* configure: Regenerate.
* Makefile.in: Regenerate.
<gcc>
* mkmap-flat.awk: Add option pe_dll.
* config/i386/t-cygming (SHLIB_LINK): Support building libgcc_s.
* gcc/config/i386/t-cygwin (SHLIB_LC): Add.
* gcc/config/i386/t-mingw32 (SHLIB_LC): Add.
* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): New.
(SUBTARGET_EXTRA_SPECS): Use SHARED_LIBGCC_UNDEFS_SPEC.
(LINK_SPEC): Support libgcc_s.
(LIBGCC_SPEC): Support libgcc_s.
(LIBGCC_SONAME): New.
<libstdc++-v3>
* acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
* configure: Regenerated.
* Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* doc/makefile.in: Regenerated.
* po/Makefile.in: Regenerated.
* libmath/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/makefile.in: Regenerated.
From-SVN: r139837
Diffstat (limited to 'gcc/config/i386/t-cygming')
-rw-r--r-- | gcc/config/i386/t-cygming | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming index b2c50df01fa..c6e6cac7811 100644 --- a/gcc/config/i386/t-cygming +++ b/gcc/config/i386/t-cygming @@ -36,3 +36,51 @@ msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretyp $(srcdir)/config/i386/msformat-c.c STMP_FIXINC=stmp-fixinc + +# Build a shared libgcc library for PECOFF with a DEF file +# with the GNU linker. +# +# mkmap-flat.awk is used with the pe_dll option to produce a DEF instead +# of an ELF map file. +# +# Warning: If SHLIB_SOVERSION or SHLIB_SONAME is updated, LIBGCC_SONAME +# in mingw32.h must be updated also. + +SHLIB_EXT = .dll +SHLIB_IMPLIB = @shlib_base_name@.a +SHLIB_SOVERSION = 1 +SHLIB_SONAME = @shlib_base_name@_$(SHLIB_SOVERSION)$(SHLIB_EXT) +SHLIB_MAP = @shlib_map_file@ +SHLIB_OBJS = @shlib_objs@ +SHLIB_DIR = @multilib_dir@/shlib +SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ +SHLIB_LC = -luser32 -lkernel32 -ladvapi32 -lshell32 + +SHLIB_LINK = $(LN_S) $(SHLIB_MAP) $(SHLIB_MAP).def && \ + if [ ! -d $(SHLIB_DIR) ]; then \ + mkdir $(SHLIB_DIR) \ + else true; fi && \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ + $(SHLIB_MAP).def \ + -Wl,--out-implib,$(SHLIB_DIR)/$(SHLIB_IMPLIB).tmp \ + -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ + $(SHLIB_OBJS) $(SHLIB_LC) && \ + $(AR_FOR_TARGET) -r $(SHLIB_DIR)/$(SHLIB_IMPLIB).tmp \ + _chkstk.o _ctors.o gthr-win32.o && \ + if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \ + mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \ + $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \ + else true; fi && \ + mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \ + mv $(SHLIB_DIR)/$(SHLIB_IMPLIB).tmp $(SHLIB_DIR)/$(SHLIB_IMPLIB) +# $(slibdir) double quoted to protect it from expansion while building +# libgcc.mk. We want this delayed until actual install time. +SHLIB_INSTALL = \ + $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \ + $(INSTALL_PROGRAM) $(SHLIB_DIR)/$(SHLIB_SONAME) \ + $$(DESTDIR)$$(bindir)/$(SHLIB_SONAME); \ + $(INSTALL_DATA) $(SHLIB_DIR)/$(SHLIB_IMPLIB) \ + $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_IMPLIB) +SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk +SHLIB_MKMAP_OPTS = -v pe_dll=1 +SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver |