summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavek <davek@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-24 16:17:01 +0000
committerdavek <davek@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-24 16:17:01 +0000
commit7ef88902afa64e783e9b612bf423fd9d12c668ff (patch)
tree7e3f906c08edd762b8f0f0e75d4f9b6f06343f82
parent07e48ffb3ed68c2336c51564f3f926888d469190 (diff)
downloadgcc-7ef88902afa64e783e9b612bf423fd9d12c668ff.tar.gz
libada/ChangeLog:
* Makefile.in (bindir): Import from autoconf and pass down to submake. gcc/ada/ChangeLog: * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New Windows-specific make variable. (WIN_SO_INSTALL_DIR [windows targets]): Likewise. (install-gnatlib): Respect the above during installation when set, and also install any windows import library that has been built. (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also build a corresponding import library. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184558 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ada/ChangeLog10
-rw-r--r--gcc/ada/gcc-interface/Makefile.in30
-rw-r--r--libada/ChangeLog4
-rw-r--r--libada/Makefile.in2
4 files changed, 37 insertions, 9 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f3cf57efdb3..34f0b3e475b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,13 @@
+2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
+ Windows-specific make variable.
+ (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
+ (install-gnatlib): Respect the above during installation when set,
+ and also install any windows import library that has been built.
+ (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
+ build a corresponding import library.
+
2012-02-22 Robert Dewar <dewar@adacore.com>
* exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 72569032a10..5fa6ffa0702 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -1589,16 +1589,19 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(osys))),)
# the Cygwin port has always been a CygMing frankenhybrid and it is
# a long-term project to disentangle them.
ifeq ($(strip $(filter-out cygwin%,$(osys))),)
+ WIN_SO_PREFIX=cyg
LIBGNAT_TARGET_PAIRS = \
s-memory.adb<s-memory.adb \
g-socthi.ads<g-socthi.ads \
g-socthi.adb<g-socthi.adb
else
+ WIN_SO_PREFIX=lib
LIBGNAT_TARGET_PAIRS = \
s-memory.adb<s-memory-mingw.adb \
g-socthi.ads<g-socthi-mingw.ads \
g-socthi.adb<g-socthi-mingw.adb
endif
+ WIN_SO_INSTALL_DIR = $(bindir)
LIBGNAT_TARGET_PAIRS += \
a-dirval.adb<a-dirval-mingw.adb \
a-excpol.adb<a-excpol-abort.adb \
@@ -2449,11 +2452,14 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
# for shared libraries on some targets, e.g. on HP-UX where the x
# permission is required.
# Also install the .dSYM directories if they exist (these directories
-# contain the debug information for the shared libraries on darwin)
+# contain the debug information for the shared libraries on darwin),
+# and the windows import libraries if they exist.
+ libpfx=$(if $(WIN_SO_PREFIX),$(WIN_SO_PREFIX),lib); \
+ librtlobjdir=$(if $(WIN_SO_INSTALL_DIR),$(WIN_SO_INSTALL_DIR),$(ADA_RTL_OBJ_DIR)); \
for file in gnat gnarl; do \
- if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
- $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
- $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+ if [ -f $(RTSDIR)/$${libpfx}$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
+ $(INSTALL) $(RTSDIR)/$${libpfx}$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ $(DESTDIR)$${librtlobjdir}; \
fi; \
if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \
$(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
@@ -2463,6 +2469,10 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
$(CP) -r $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM \
$(DESTDIR)$(ADA_RTL_OBJ_DIR); \
fi; \
+ if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext)$(arext) ]; then \
+ $(INSTALL_DATA) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext)$(arext) \
+ $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+ fi; \
done
# This copy must be done preserving the date on the original file.
for file in $(RTSDIR)/*.ad?; do \
@@ -2674,16 +2684,18 @@ gnatlib-shared-win32:
cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
| sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \
$(PICFLAG_FOR_TARGET) \
- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ -o $(WIN_SO_PREFIX)gnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ -Wl,-out-implib,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)$(arext) \
$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
+ $(SO_OPTS)$(WIN_SO_PREFIX)gnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
| sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \
$(PICFLAG_FOR_TARGET) \
- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ -o $(WIN_SO_PREFIX)gnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ -Wl,-out-implib,libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)$(arext) \
$(GNATRTL_TASKING_OBJS) \
- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
+ $(SO_OPTS)$(WIN_SO_PREFIX)gnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ $(THREADSLIB) -L. -lgnat$(hyphen)$(LIBRARY_VERSION)
gnatlib-shared-darwin:
$(MAKE) $(FLAGS_TO_PASS) \
diff --git a/libada/ChangeLog b/libada/ChangeLog
index 9a0db22cf8a..256ccccf016 100644
--- a/libada/ChangeLog
+++ b/libada/ChangeLog
@@ -1,3 +1,7 @@
+2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * Makefile.in (bindir): Import from autoconf and pass down to submake.
+
2012-01-22 Douglas B Rupp <rupp@gnat.com>
* configure: Regenerate.
diff --git a/libada/Makefile.in b/libada/Makefile.in
index 5389dd005de..36cf5ad5e5a 100644
--- a/libada/Makefile.in
+++ b/libada/Makefile.in
@@ -33,6 +33,7 @@ MULTICLEAN = true
SHELL = @SHELL@
srcdir = @srcdir@
libdir = @libdir@
+bindir = @bindir@
build = @build@
target = @target@
prefix = @prefix@
@@ -83,6 +84,7 @@ LIBADA_FLAGS_TO_PASS = \
"TRACE=$(TRACE)" \
"MULTISUBDIR=$(MULTISUBDIR)" \
"libsubdir=$(libsubdir)" \
+ "bindir=$(bindir)" \
"objext=$(objext)" \
"prefix=$(prefix)" \
"exeext=.exeext.should.not.be.used " \