../configure --target=i370-mvspdp --prefix=/devel/mvscross
--with-sysroot=/devel/mvshead
--enable-languages=c
plus make and make install
then I went to
mvscross/bin and renamed i370-mvspdp-gcc to i370-mvspdp-xxx
and replaced it with a script that does:
i370-mvspdp-xxx -S $*
Maybe a more generic way to work around the missing assembler and linker
would be to provide dummy scripts i370-mvspdp-as
I created one of them, but as far as I can tell it didn't pick it up.
and i370-mvspdp-ld, where
the "assembler" would simply copy the assembler source input as text to
the
"object" file output, and the "linker" would collect all input files into
a tar file (or some other archive) as "executable" output ...
Sounds good.
This would allow usual build processes (including "make") to proceed as
expected.
Yes.
The compiler error output found in the config.log file should hopefully
point to the problem ...
Well, below are some of the changes I made today to get it to go
past the various errors. Probably the most interesting was this
one:
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
I don't have a sys/param.h and so I just stuck those in somewhere
that it seemed to be looking for, so that it didn't come up and say
that it couldn't determine the endian order.
It seemed to try very hard to stick in sys/types.h and sys/time.h
and I'm not sure how well I got around that.
It also seemed to execute /bin/as at one point instead of my
dummy cross-assembler. I'll try to figure out what the logic
is tomorrow.
Note - all this is on 3.4.6.
BFN. Paul.
Index: configure
===================================================================
RCS file: /cvsroot/gccnew/gcc/configure,v
retrieving revision 1.1.1.1
retrieving revision 1.8
diff -c -r1.1.1.1 -r1.8
*** configure 9 Jul 2009 00:25:05 -0000 1.1.1.1
--- configure 20 Oct 2009 12:39:48 -0000 1.8
***************
*** 2463,2470 ****
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
! #include <sys/types.h>
! #include <sys/stat.h>
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
--- 2463,2470 ----
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
! /*#include <sys/types.h>
! #include <sys/stat.h>*/
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
***************
*** 3377,3383 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3377,3383 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3448,3454 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3448,3454 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3519,3525 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3519,3525 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3590,3596 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3590,3596 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3662,3668 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3662,3668 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3735,3741 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3735,3741 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 5656,5662 ****
if test $ac_cv_header_time = yes; then
cat >>confdefs.h <<\_ACEOF
! #define TIME_WITH_SYS_TIME 1
_ACEOF
fi
--- 5656,5662 ----
if test $ac_cv_header_time = yes; then
cat >>confdefs.h <<\_ACEOF
! /*#define TIME_WITH_SYS_TIME 1*/
_ACEOF
fi
***************
*** 6150,6157 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
! #include <sys/param.h>
int
main ()
{
--- 6150,6160 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
! #include <sys/param.h>*/
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
int
main ()
{
***************
*** 6192,6199 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
! #include <sys/param.h>
int
main ()
{
--- 6195,6205 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
! #include <sys/param.h>*/
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
int
main ()
{
***************
*** 6731,6738 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
! #include <inttypes.h>
int
main ()
{
--- 6737,6744 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
! #include <inttypes.h>*/
int
main ()
{
***************
*** 7051,7057 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--- 7057,7063 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>*/
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
***************
*** 7093,7099 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Thanks to Mike Rendell for this test. */
! #include <sys/types.h>
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
--- 7099,7105 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Thanks to Mike Rendell for this test. */
! /*#include <sys/types.h>*/
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
***************
*** 7303,7311 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
#include <sys/mman.h>
! #include <unistd.h>
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
--- 7309,7317 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
#include <sys/mman.h>
! #include <unistd.h>*/
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
***************
*** 7644,7650 ****
else
cat >conftest.$ac_ext <<_ACEOF
/* By Ruediger Kuhlmann. */
! #include <sys/types.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
--- 7650,7656 ----
else
cat >conftest.$ac_ext <<_ACEOF
/* By Ruediger Kuhlmann. */
! /*#include <sys/types.h>*/
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
***************
*** 7717,7725 ****
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
#include <stdlib.h>
! #include <sys/types.h>
#include <sys/stat.h>
! #include <sys/wait.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
--- 7723,7731 ----
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
#include <stdlib.h>
! /*#include <sys/types.h>
#include <sys/stat.h>
! #include <sys/wait.h>*/
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
***************
*** 8998,9004 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
--- 9004,9010 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>*/
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif