This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: cross-gcc build for a linux host for the msdosdjgpp target problem


You wrote:

> I have been trying to do a cross-gcc build for a linux host for
> the msdosdjgpp target and I have run into a hitch and am hoping
> you can shed some light.

 The DJGPP2 target doesn't seem to be fully 'supported' in the
gcc-3.2 sources, you must tinker with the 'libstdc++-v3/configure*'
stuff... Or manually fix the results after configuring, this is
the workaround.

> /root/updates/gcc/djgpp/cross/gcc-3.2-obj/i686-pc-msdosdjgpp/libstdc++-v3/include/i686-pc-msdosdjgpp/bits/ctype_base.h:
>    _U' was not declared in this scope
>    _L' was not declared in this scope

 The header file 'include/i686-pc-msdosdjgpp/bits/ctype_base.h' in
your libstdc++-v3-build subdir 'i686-pc-msdosdjgpp/libstdc++-v3',
is not symlinked into the right 'ctype_base.h' for DJGPP2...  So
the libstdc++-v3-configure didn't work with this target.

> Any ideas what can be done to correct this problem?

 The source directory 'libstdc++-v3/config/os/djgpp'
has the right headers for DJGPP2 target, so they must
be symlinked into your:

i686-pc-msdosdjgpp/libstdc++-v3/include/i686-pc-msdosdjgpp/bits

build-subdir, substituting the wrong symlinks there now.

 The 'configure.target' in 'libstdc++-v3' sourcedir should
have something like (this was taken from gcc-3.3 snapshots) :

----------------- clip -----------------------------------
# Set any OS-dependent bits.
# Set the os_include_dir.
# Set c_model, c_compatibility here.
# If atomic ops and/or numeric limits are OS-specific rather than
# CPU-specifc, set those here too.
# THIS TABLE IS SORTED.  KEEP IT THAT WAY.
case "${target_os}" in
  aix4.[3456789]* | aix[56789]*)

<snip>

  cygwin*)
    os_include_dir="os/newlib"
    ;;
  *djgpp*)      # leading * picks up "msdosdjgpp"
    os_include_dir="os/djgpp"
    ;;
----------------- clip -----------------------------------

and this should set the DJGPP-directory being right... I
don't remember whether I fixed DJGPP2 among many others
that didn't work either, or simply used the workaround.
Anyhow I remember producing gcc-3.2.x for DJGPP2 target.

Cheers, Kai
  

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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