diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-15 00:15:52 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-15 00:15:52 +0000 |
commit | 5440bc8ef38c925fa824ae72b6c7ad2f21cbda6e (patch) | |
tree | 33768a0c14b79a902fd43151b9ff12ca93f62233 /uconfig.h | |
parent | d31cdfb6c818e318a1eec541457f7fecc9be0d36 (diff) | |
download | perl-5440bc8ef38c925fa824ae72b6c7ad2f21cbda6e.tar.gz |
The first steps towards cross-compilation.
Abstract execution of compiled test executables with $run,
and abstract transfer of files with $to and $from.
Under cross-compilation the $run, $to, and $from will point
to appropriate wrapper scripts, by default ssh and scp,
but also rsh, rcp, and cp are supported. If not
cross-compiling, they will be set to '', ':', and ':',
respectively.
With these patches I was able to get Configure for
iPAQ ARM Linux on an Intel Linux about 95% right
(only a few tests failed to execute or they produced
incorrect results), and I was able to compile
a functional miniperl.
The symbol crosscompile renamed to be usecrosscompile,
the corresponding C symbol from CROSSCOMPILE to
USE_CROSS_COMPILE.
p4raw-id: //depot/perl@10592
Diffstat (limited to 'uconfig.h')
-rw-r--r-- | uconfig.h | 86 |
1 files changed, 46 insertions, 40 deletions
@@ -121,26 +121,6 @@ */ /*#define HAS_DLERROR / **/ -/* SETUID_SCRIPTS_ARE_SECURE_NOW: - * This symbol, if defined, indicates that the bug that prevents - * setuid scripts from being secure is not present in this kernel. - */ -/* DOSUID: - * This symbol, if defined, indicates that the C program should - * check the script that it is executing for setuid/setgid bits, and - * attempt to emulate setuid/setgid on systems that have disabled - * setuid #! scripts because the kernel can't do it securely. - * It is up to the package designer to make sure that this emulation - * is done securely. Among other things, it should do an fstat on - * the script it just opened to make sure it really is a setuid/setgid - * script, it should make sure the arguments passed correspond exactly - * to the argument on the #! line, and it should not trust any - * subprocesses to which it must pass the filename rather than the - * file descriptor of the script to be executed. - */ -/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/ -/*#define DOSUID / **/ - /* HAS_DUP2: * This symbol, if defined, indicates that the dup2 routine is * available to duplicate file descriptors. @@ -918,17 +898,6 @@ */ /*#define I_VALUES / **/ -/* I_STDARG: - * This symbol, if defined, indicates that <stdarg.h> exists and should - * be included. - */ -/* I_VARARGS: - * This symbol, if defined, indicates to the C program that it should - * include <varargs.h>. - */ -#define I_STDARG /**/ -/*#define I_VARARGS / **/ - /* I_VFORK: * This symbol, if defined, indicates to the C program that it should * include vfork.h. @@ -962,12 +931,6 @@ */ #define SH_PATH "" /**/ -/* CROSSCOMPILE: - * This symbol, if defined, signifies that we our - * build process is a cross-compilation. - */ -/*#define CROSSCOMPILE / **/ - /* INTSIZE: * This symbol contains the value of sizeof(int) so that the C * preprocessor can make decisions based on it. @@ -1051,8 +1014,8 @@ * double, or a long double when applicable. Usual values are 2, * 4 and 8. The default is eight, for safety. */ -#if defined(CROSSCOMPILE) || defined(MULTIARCH) -# define MEM_ALIGNBYTES 8 +#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH) +#define MEM_ALIGNBYTES 8 #else #define MEM_ALIGNBYTES 4 #endif @@ -1128,7 +1091,7 @@ * so the default case (for NeXT) is big endian to catch them. * This might matter for NeXT 3.0. */ -#if defined(CROSSCOMPILE) || defined(MULTIARCH) +#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH) # ifdef __LITTLE_ENDIAN__ # if LONGSIZE == 4 # define BYTEORDER 0x1234 @@ -3346,6 +3309,49 @@ #define PERL_XS_APIVERSION "5.005" #define PERL_PM_APIVERSION "5.005" +/* SETUID_SCRIPTS_ARE_SECURE_NOW: + * This symbol, if defined, indicates that the bug that prevents + * setuid scripts from being secure is not present in this kernel. + */ +/* DOSUID: + * This symbol, if defined, indicates that the C program should + * check the script that it is executing for setuid/setgid bits, and + * attempt to emulate setuid/setgid on systems that have disabled + * setuid #! scripts because the kernel can't do it securely. + * It is up to the package designer to make sure that this emulation + * is done securely. Among other things, it should do an fstat on + * the script it just opened to make sure it really is a setuid/setgid + * script, it should make sure the arguments passed correspond exactly + * to the argument on the #! line, and it should not trust any + * subprocesses to which it must pass the filename rather than the + * file descriptor of the script to be executed. + */ +/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/ +/*#define DOSUID / **/ + +/* I_STDARG: + * This symbol, if defined, indicates that <stdarg.h> exists and should + * be included. + */ +/* I_VARARGS: + * This symbol, if defined, indicates to the C program that it should + * include <varargs.h>. + */ +#define I_STDARG /**/ +/*#define I_VARARGS / **/ + +/* USE_CROSS_COMPILE: + * This symbol, if defined, indicates that Perl is being cross-compiled. + */ +/* PERL_TARGETARCH: + * This symbol, if defined, indicates the target architecture + * Perl has been cross-compiled to. Undefined if not a cross-compile. + */ +#ifndef USE_CROSS_COMPILE +/*#define USE_CROSS_COMPILE / **/ +#define PERL_TARGETARCH "" /**/ +#endif + /* HAS_DBMINIT_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the dbminit() function. Otherwise, it is up |