[pure-lang-svn] SF.net SVN: pure-lang: [57] pure/trunk/INSTALL
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-05-05 09:19:23
|
Revision: 57 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=57&view=rev Author: agraef Date: 2008-05-05 02:19:18 -0700 (Mon, 05 May 2008) Log Message: ----------- Add system-specific notes. Modified Paths: -------------- pure/trunk/INSTALL Modified: pure/trunk/INSTALL =================================================================== --- pure/trunk/INSTALL 2008-05-05 09:17:57 UTC (rev 56) +++ pure/trunk/INSTALL 2008-05-05 09:19:18 UTC (rev 57) @@ -5,9 +5,21 @@ These instructions (by courtesy of Eddie Rucker, thanks Eddie!) explain how to compile and install LLVM (which is the compiler backend required by Pure) and the Pure interpreter itself. More information about installing LLVM and the -required LLVM source packages can be found at http://llvm.org. +required LLVM source packages can be found at http://llvm.org. Please also +have a look at the SYSTEM-SPECIFIC NOTES section at the end of this file which +describes the tweaks necessary to make Pure compile and run on various +platforms. +Pure is known to work on Linux and Mac OSX, but should compile (with the usual +amount of tweaking) on all UNIX/POSIX-based platforms. Version 4.x of the GNU +C++ compiler is known to work (it should be available almost everywhere), +earlier versions probably need some work. Other ANSI/ISO compatible C/C++ +compilers will probably work as well after you fiddled with the compilation +options, but this has not been tested. Also note that the Makefile pretty much +requires GNU make right now, so you should make sure that you have that +installed before trying to compile Pure. + BASIC INSTALLATION ===== ============ @@ -15,8 +27,8 @@ required once. Steps 2-3 can be avoided if binary LLVM packages are available for your system. Additional instructions for compiling Pure from SVN sources can be found in the INSTALLING FROM SVN SOURCES section below. Moreover, you -can refer to the OTHER COMPILATION OPTIONS section at the end of the file for -details about various options available when building and installing Pure. +can refer to the OTHER COMPILATION OPTIONS section below for details about +various options available when building and installing Pure. STEP 1. Make sure you have all the necessary dependencies installed (-dev denotes corresponding development packages): @@ -169,6 +181,52 @@ installation process and other available targets and options. +SYSTEM-SPECIFIC NOTES +=============== ===== + +ALL PLATFORMS +--- --------- + +Compiling the release version (make build=release) with gcc with all warnings +turned on (which is the default) will give you the warning "dereferencing +type-punned pointer will break strict-aliasing rules" at some point in +util.cc. This is harmless and can be ignored. + +64 BIT SYSTEMS +-- --- ------- + +Please note that at the time of this writing only the release build of Pure +(make build=release) appears to work on (some) 64 bit systems. We're working +on these issues right now, so please stay tuned. + +LINUX +----- + +Linux is the primary development platform for this software, and the sources +should build out of the box on all recent Linux distributions. (Some +unresolved issues have been reported with Ubuntu on PowerPC, though, see the +mailing list for details and updates on this.) + +MAC OSX +--- --- + +Pure is known to work on this platform, and a port by Ryan Schmidt exists in +the MacPorts collection at http://www.macports.org/. If you compile Pure from +the original sources yourself, you should remove the -rdynamic option from the +link line (it's not needed on OSX) and add the -liconv flag instead. To these +ends, build Pure with the following make command (add the build=release option +for the release build): + +$ make LDFLAGS="" LIBS="-liconv" + +Also note that with at least some current versions of the Apple gcc compiler +(4.0.1 and similar) you'll get the (bogus) warning "control reaches end of +non-void function" a couple of times in interpreter.cc. These are due to a bug +in older gcc versions (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16558), +but they are harmless and can be ignored. These warnings should also go away +once Apple upgrades its SDK to a newer gcc version. + + May 2008 Albert Graef <Dr.Graef at t-online.de> Eddie Rucker <erucker at bmc.edu> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |