]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
changes for C++ (Tim MacKenzie)
authorGuido van Rossum <guido@python.org>
Tue, 10 Jan 1995 17:43:33 +0000 (17:43 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 10 Jan 1995 17:43:33 +0000 (17:43 +0000)
Include/mymalloc.h
Modules/Makefile.pre.in
Modules/config.c.in

index 877bcb98971f92ea77137affd59752d1b58f42f1..3c80db10f6261c720f52fc1c5535a55895636101 100644 (file)
@@ -1,9 +1,5 @@
 #ifndef Py_MYMALLOC_H
 #define Py_MYMALLOC_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /***********************************************************
 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
 The Netherlands.
@@ -52,7 +48,15 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
-#else /* !HAVE_STDLIB */
+#endif
+
+#ifdef __cplusplus
+// Move this down here since some C++ #include's don't like to be included
+// inside an extern "C"
+extern "C" {
+#endif
+
+#ifndef HAVE_STDLIB_H
 extern ANY *malloc PROTO((size_t));
 extern ANY *calloc PROTO((size_t, size_t));
 extern ANY *realloc PROTO((ANY *, size_t));
index 5662ea5aa624678d3d6a70f84ebbba871ccccf7d..8ebf62a03d1b91a0173f9f4d98518ff087464fb6 100644 (file)
@@ -6,6 +6,7 @@
 # brought up to date by running "make Makefile".  (The makesetup also
 # creates config.c from config.c.in in the source directory.)
 
+LINKCC = $(CC)
 # === Variables set by makesetup ===
 
 MODOBJS=       _MODOBJS_
@@ -79,12 +80,12 @@ $(LIB):             $(OBJS) Makefile
                $(RANLIB) $(LIB)
 
 ../python:     config.o $(MYLIBS) Makefile
-               $(CC) $(OPT) config.o $(LINKFORSHARED) \
+               $(LINKCC) $(OPT) config.o $(LINKFORSHARED) \
                      $(MYLIBS) $(MODLIBS) $(LIBS) $(SYSLIBS) -o python
                mv python ../python
 
 config.o:      config.c Makefile $(MYLIBS)
-               $(CC) $(CFLAGS) -DPYTHONPATH=\"$(PYTHONPATH)\" -c config.c
+               $(LINKCC) $(CFLAGS) -DPYTHONPATH=\"$(PYTHONPATH)\" -c config.c
 
 clean:
                -rm -f *.o python core *~ [@,#]* *.old *.orig *.rej
index ba8b9d78a5e8528f88bfbb3b7f300903bc7739de..0c2f114489d1be952ac687d11b8642ebaa851748 100644 (file)
@@ -41,6 +41,9 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #include "osdefs.h"
 #include "intrcheck.h"
 
+#if defined(__cplusplus)
+extern "C" {
+#endif
 
 #ifndef NO_MAIN
 
@@ -59,9 +62,14 @@ static char *argv0;
 static char **orig_argv;
 static int  orig_argc;
 
+#if defined(__cplusplus)
+int realmain(int, char**);
+main(int argc, char **argv)
+#else
 main(argc, argv)
        int argc;
        char **argv;
+#endif
 {
        orig_argc = argc;
        orig_argv = argv;
@@ -76,9 +84,13 @@ getprogramname()
 }
 
 void
+#if defined(__cplusplus)
+getargcargv(int *argc, char ***argv)
+#else
 getargcargv(argc,argv)
        int *argc;
        char ***argv;
+#endif
 {
        *argc = orig_argc;
        *argv = orig_argv;
@@ -144,11 +156,16 @@ getcopyright()
 #define PYTHONPATH ".:/usr/local/lib/python"
 #endif /* !PYTHONPATH */
 
+#ifndef __cplusplus
 extern char *getenv();
+#endif
 
 char *
 getpythonpath()
 {
+#ifdef __cplusplus
+       void fatal(char *);
+#endif
        char *path = getenv("PYTHONPATH");
        char *defpath = PYTHONPATH;
        static char *buf = NULL;
@@ -215,3 +232,7 @@ struct frozen {
        {0, 0, 0}
 };
 #endif
+
+#if defined(__cplusplus)
+}
+#endif