This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Ada] Building gnatdll.exe on MinGW32
- From: Danny Smith <danny_r_smith_2001 at yahoo dot co dot nz>
- To: obry at gnat dot com, bosch at gnat dot com, gcc-patches at gcc dot gnu dot org
- Date: Sun, 9 Dec 2001 20:41:52 +1100 (EST)
- Subject: Re: [Ada] Building gnatdll.exe on MinGW32
--- obry@gnat.com wrote: >
> Danny,
>
> > Thanks. The kunching however does't happen automatically. This is the
> > error for "make gnatdll.exe" (after adding a rule for gnatdll.exe to
> > Make-lang.in:
> >
> > gcc.exe -c -W -Wall -gnatpg -gnata -I- -I. -I../../../gcc/gcc/ada
> > ../../../gcc/gcc/ada/mdllfile.adb
> > mdllfile.adb:33:18: warning: file name does not match unit name,
> should be
> > "mdll-files.adb"
> > make[1]: *** [mdllfile.o] Error 1
> > make[1]: Leaving directory `/develop/gcc/build/gcc/ada'
> > make: *** [gnatdll.exe] Error 2
>
> Hard to tell what is wrong with the Makefile without seeing it, but here
> the
> rules did not apply. There is no crunching applied during this
> compilation. So
> this seems to be a Makefile issue.
Yes.
>
> > How about this then? Tested on native mingw32 build.
> >
> > Changelog
> >
> > 2001-12-10 Danny Smith <dannysmith@uswers.sourceforge.net>
> >
> > * ada/Make-lang.in (gnatdll$(exeext)): Add rule.
> > * ada/Makefile.in (mdllfile.o, mdlltool.o): Add rules, using
> > -gnatk8 switch.
>
> I can't find this in the GCC tree...
>
? What can't you find? The diff was against gcc mainline cvs.
Danny
Index: ada/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Make-lang.in,v
retrieving revision 1.7
diff -u -p -r1.7 Make-lang.in
--- Make-lang.in 2001/11/29 16:50:10 1.7
+++ Make-lang.in 2001/12/09 01:48:14
@@ -138,6 +138,12 @@ gnatlbr$(exeext): $(CONFIG_H) prefix.o f
$(MAKE) -C ada $(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
../gnatlbr$(exeext)
+# Gnatdll is extra tool only used on i386-pe targets
+
+gnatdll$(exeext): $(CONFIG_H) prefix.o force
+ $(MAKE) -C ada $(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
+ ../gnatdll$(exeext)
+
# use target-gcc
gnattools: $(GCC_PARTS) force
$(MAKE) $(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
Index: ada/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Makefile.in,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile.in
--- Makefile.in 2001/12/05 20:34:43 1.17
+++ Makefile.in 2001/12/09 01:48:28
@@ -1493,6 +1493,16 @@ ifeq ($(strip $(filter-out cygwin32% min
# ??? work around a gcc -O3 bug on x86
a-numaux.o : a-numaux.adb a-numaux.ads
$(ADAC) -c $(ALL_ADAFLAGS) -O2 $(ADA_INCLUDES) $<
+
+# krunch filenames
+
+mdllfile.o : mdllfile.adb mdllfile.ads
+ $(ADAC) -c $(ALL_ADAFLAGS) -gnatk8 $(ADA_INCLUDES) $<
+
+mdlltool.o : mdlltool.adb mdlltool.ads
+ $(ADAC) -c $(ALL_ADAFLAGS) -gnatk8 $(ADA_INCLUDES) $<
+
+
endif
# The runtime library for gnat comprises two directories. One contains
the
http://shopping.yahoo.com.au - Yahoo! Shopping
- Free CDs for thousands of Priority Shoppers!