summaryrefslogtreecommitdiff
path: root/uconfig.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-06-15 00:15:52 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-06-15 00:15:52 +0000
commit5440bc8ef38c925fa824ae72b6c7ad2f21cbda6e (patch)
tree33768a0c14b79a902fd43151b9ff12ca93f62233 /uconfig.h
parentd31cdfb6c818e318a1eec541457f7fecc9be0d36 (diff)
downloadperl-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.h86
1 files changed, 46 insertions, 40 deletions
diff --git a/uconfig.h b/uconfig.h
index 08799f2540..67578fae84 100644
--- a/uconfig.h
+++ b/uconfig.h
@@ -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