Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
7a5f420e
Commit
7a5f420e
authored
Jan 12, 1999
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Chris Herborth's first pass at making config and install
for BeOS better.
parent
0039d7b4
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
387 additions
and
278 deletions
+387
-278
BeOS/README
BeOS/README
+18
-37
BeOS/dl_export.h
BeOS/dl_export.h
+50
-0
Makefile.in
Makefile.in
+4
-2
config.h.in
config.h.in
+6
-0
configure
configure
+275
-237
configure.in
configure.in
+34
-2
No files found.
BeOS/README
View file @
7a5f420e
...
...
@@ -8,6 +8,9 @@ What's Here?
ar-fake - A shell script used by the build process to emulate a "real"
POSIX ar command; helps to build the Python shared library.
dl_export.h - A header defining the evil magic declaration decorations
required for dynamic loading.
linkcc - A shell script used by the build process to build the Python
shared library.
...
...
@@ -35,21 +38,7 @@ Python 1.5.2 and later will compile "out of the box" on BeOS), try this:
2) Configure with:
AR=$(pwd)/BeOS/ar-fake RANLIB=: ./configure --verbose \
--prefix=/boot/home/config --with-thread
When configure is done, add this anywhere in config.h:
#ifndef DL_EXPORT
# define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE
#endif
#ifndef DL_IMPORT
# ifdef USE_DL_EXPORT
# define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE
# else
# define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE
# endif
#endif
./configure --verbose --prefix=/boot/home/config --with-thread
3) Copy Modules/Setup.in to Modules/Setup.
...
...
@@ -68,22 +57,19 @@ Python 1.5.2 and later will compile "out of the box" on BeOS), try this:
operator _locale fcntl pwd grp select _socket errno crypt termios
audioop imageop rgbimg md5 timing rotor syslog curses new gdbm soundex
binascii parser cStringIO cPickle zlib
Note that some of these (readline, curses, gdbm, and zlib) require extra
libraries that aren't supplied with Python. If you don't have the extra
libs (you can probably get them from GeekGadgets), don't try to use
these modules; they won't compile.
5) Make sure Modules/Makefile.pre has REALLIBRARY set to:
REALLIBRARY=../libpython$(VERSION).so
5) Make:
6) Make:
make
make OPT=-DUSE_DL_EXPORT CCSHARED=-UUSE_DL_EXPORT MACHDEP=beos
6) Test:
On PowerPC systems, you'll see lots of warnings about duplicate
symbols when things get linked; don't worry about this, it's
harmless (and should disappear soon).
7) Test:
make OPT=-DUSE_DL_EXPORT CCSHARED=-UUSE_DL_EXPORT MACHDEP=beos test
make test
Expect the following errors:
...
...
@@ -97,16 +83,11 @@ Python 1.5.2 and later will compile "out of the box" on BeOS), try this:
NOTE: On R4/x86, the pause() function is broken; expect the signal
module test to crash Python!
8) Install:
make OPT=-DUSE_DL_EXPORT CCSHARED=-UUSE_DL_EXPORT MACHDEP=beos nstall
7) Install:
This will fail trying to copy libpython1.5.a; at that point in the
install, everything you "normally" need is installed (all the Python
bits), and the stuff you need for compiling C-based modules is half-
installed. This will be fixed before the 1.5.2 release.
make install
9
) Enjoy!
8
) Enjoy!
- Chris Herborth (chrish@
qnx
.com)
December 22, 1998
- Chris Herborth (chrish@
beoscentral
.com)
January 12, 1999
BeOS/dl_export.h
0 → 100644
View file @
7a5f420e
#ifndef BEOS_DL_EXPORT_H
#define BEOS_DL_EXPORT_H
/* There are no declarations here, so no #ifdef __cplusplus...
*
* This is the nasty declaration decorations required by certain systems
* (in our case, BeOS) for dynamic object loading.
*
* This trivial header is released under the same license as the rest of
* Python:
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation, and that the names of Stichting Mathematisch
* Centrum or CWI or Corporation for National Research Initiatives or
* CNRI not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission.
*
* While CWI is the initial source for this software, a modified version
* is made available by the Corporation for National Research Initiatives
* (CNRI) at the Internet address ftp://ftp.python.org.
*
* STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
* CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*
* - Chris Herborth (chrish@beoscentral.com)
* January 11, 1999
*/
#ifndef DL_EXPORT
# define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE
#endif
#ifndef DL_IMPORT
# ifdef USE_DL_EXPORT
# define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE
# else
# define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE
# endif
#endif
#endif
Makefile.in
View file @
7a5f420e
...
...
@@ -382,8 +382,10 @@ libainstall: all
else
true
;
\
fi
;
\
done
$(INSTALL_DATA)
$(LIBRARY)
$(LIBPL)
/
$(LIBRARY)
$(RANLIB)
$(LIBPL)
/
$(LIBRARY)
@
if
[
"
$(MACHDEP)
"
!=
"beos"
]
;
then
\
$(INSTALL_DATA)
$(LIBRARY)
$(LIBPL)
/
$(LIBRARY)
;
\
$(RANLIB)
$(LIBPL)
/
$(LIBRARY)
;
\
fi
$(INSTALL_DATA)
Modules/config.c
$(LIBPL)
/config.c
$(INSTALL_DATA)
Modules/python.o
$(LIBPL)
/python.o
$(INSTALL_DATA)
$(srcdir)
/Modules/config.c.in
$(LIBPL)
/config.c.in
...
...
config.h.in
View file @
7a5f420e
...
...
@@ -453,3 +453,9 @@
/* Define if you have the m library (-lm). */
#undef HAVE_LIBM
/* Define if you have special dynamic linkage requirements in declarations. */
#undef DL_EXPORT_HEADER
#ifdef DL_EXPORT_HEADER
#include DL_EXPORT_HEADER
#endif
configure
View file @
7a5f420e
This diff is collapsed.
Click to expand it.
configure.in
View file @
7a5f420e
...
...
@@ -107,8 +107,40 @@ AC_ARG_WITH(gcc, [--without-gcc never use gcc], [
case $ac_sys_system in
OSF1) CC=cc
without_gcc=;;
BeOS*) CC=cc
without_gcc=;;
BeOS*)
# Dunno if it's a good idea to get this over with all at once, or
# to handle it in with the other goodies.
MACHDEP=beos
case $BE_HOST_CPU in
ppc)
CC="mwcc -I$PWD/BeOS"
without_gcc=yes
OPT="-DUSE_DL_EXPORT -O7 -opt schedule604"
CCSHARED=-UUSE_DL_EXPORT
LDFLAGS="$LDFLAGS -nodup"
AR="$PWD/BeOS/ar-fake"
RANLIB=:
AC_DEFINE(DL_EXPORT_HEADER,"dl_export.h")
;;
x86)
CC="gcc -I$PWD/BeOS"
without_gcc=no
OPT="-DUSE_DL_EXPORT -O3 -mpentiumpro"
CCSHARED=-UUSE_DL_EXPORT
AR="$PWD/BeOS/ar-fake"
RANLIB=:
AC_DEFINE(DL_EXPORT_HEADER,"dl_export.h")
;;
*)
AC_ERROR(Your BeOS system isn't PowerPC or x86... neat, but this won't work...)
;;
esac
;;
*) without_gcc=no;;
esac])
AC_MSG_RESULT($without_gcc)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment