This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ada-3.1.1 Makefile Madness


On Friday 09 August 2002 02:09 am, Andris Pavenis wrote:
> On Friday 09 August 2002 02:07, Michael S. Zick wrote:
> > On Thursday 08 August 2002 02:11 pm, Florian Weimer wrote:
> > > Michael S. Zick <mszick@goquest.com> writes:
> > > > When I reach the "make gnatlib_and_tools" step from within
> > > > <release>/gcc-bld/gcc...
> > >
> > > Your build directory is inside the source directory tree.  Maybe
> > > that's causing the problems you are seeing.
> >
> > Could well be the problem.
> > The instructions do say: "...where objdir is a subdirectory of srcdir ...
> > unsupported..."
>
> It didn't work also for me (target i586-pc-msdosdjgpp). Moving build
> directory out of source directory and specifying absolute path to sources
> worked

On host: i686-pc-linux-gnu (Redhat 7.1 installation style), where original 
software exists in: /usr/bin... & /usr/lib...

Using gnat-3.13p-8 (complete, rpm, binary, install) from www.gnuada.org
which also installs in /usr/bin & /usr/lib...

Ensuring that /usr/bin is first entry in $PATH and specifying: 
export CC=/usr/bin/gnatgcc
Almost works...  If (or when) bootstrap exits with an "ensure you are using a 
compatiable gcc/gnatbind" message... Specify:
export GNATBIND=/usr/bin/gnatbind

Once an initial gcc-3.1.1<ada,c> is built and installed in: <somewhere>/bin & 
<somewhere>/lib...  Specify:
export CC=<somewhere>/gcc
export GNATBIND=<somewhere>/gnatbind
To also get the tools (components) used by the Makefile:bootstrap that don't 
have a variable to hold the current absolute path...  Specify:
export PATH=<somewhere>:$PATH

At which point things get a little iffy during the initial stage of building 
for the stage1 compiler and tools.
The Makefiles hardcode: "../xgcc -B../" used AFTER the building of the stage1 
compiler and tools...

My mind "vapor locks" whenever I try to read these Makefiles - So if a 
Makefile expert could comment on the following:

1) Do away with the use of "GNATBIND" - it only handles "gnatbind" not the 
other gnat tools.
2) Provide ability to specify the absolute paths used during the initial 
building of the stage1 compiler and tools, perhaps like:
export INITIAL_ADA_PATH=<somewhere>
During initial build for stage1 would give:
ADAC=$(INITIAL_ADA_PATH)/$(compiler_that_understands_Ada)
and:
$(INITIAL_ADA_PATH)/gnatbind 
and:
$(INITIAL_ADA_PATH)/<any_other_Ada_tools_used>

I am using binutils-2.13 installed <somewhere>/bin & <somewhere>/lib
I am using the configure options to specify "as" and "ld" to be the 
<somewhere>/bin/as & <somewhere>/bin/ld
BUT, like the problem of not getting matching Ada tools above...

3) Provide ability to specify the absolute paths used during the initial 
building of the stage1 compiler and tools, perhaps like:
export INITIAL_BTOOLS_PATH=<somewhere>/bin
During initial build for stage1 (and other stages if not building new 
binutils in a composite tree), all the non-Ada tools (ar, nm, etc.) would be:
$(INITIAL_BTOOLS_PATH)/nm
$(INITIAL_BTOOLS_PATH)/ar
$(INITIAL_BTOOLS_PATH)/<whatever>
Note: this could also replace the "--with-as= & --with-ld=" configure options.
If building in a composite tree (I am not) - then once the stage1 build is 
complete, those things would become:
$(OUR_NEW_BTOOLS_PATH)/nm
$(OUR_NEW_BTOOLS_PATH)/as
$(OUR_NEW_BTOOLS_PATH)/<whatever>

Of course, all of the above suggestions would have to account for:

HOST_SYSTEM, TARGET_SYSTEM, and BUILD_SYSTEM when not building a native 
compilier / toolset.

Groan.
>
> > BUT - that I was able to get to work with a little file copying.
> >
> > The organization: <something>/<release>/gcc .... with building in:
> > <something>/<bld-gcc>/ .... is a total loser on my machine.
> >
> > The instructions do say: "... some broken make's ... where srcdir is
> > seperate from objdir ... fail".  (No shit!)

I have repeated the bootstrap with the build directory totally seperate from 
the source directory - Once I finish groking this 30MB log file produced by 
"make -d -p bootstrap" I may have more information.

> >
> > So, Question: "What is the minimum REQUIRED version of gnu-make to
> > successfully build gcc-3.1.1<c, ada>?   (Note the "Ada").
>
> make-3.79.1 worked OK for me.

Humm.  I am using make-3.79.1-5 (Redhat-5) there is a make-3.79.1-8 
(Redhat-8), I'll try that also.

Mike
>
> Andris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]