Prepped support files for RC1

This commit is contained in:
starkos 2008-12-29 23:20:44 +00:00
parent d101d580c2
commit 38b3c79469
4 changed files with 375 additions and 17 deletions

View File

@ -1,7 +1,7 @@
PREMAKE BUILD INSTRUCTIONS
As of version 4.0, Premake is written in a mix of C and Lua. This mix
makes it smaller, enables the templating features, and easier the
makes it smaller, enables the templating features, and makes the
whole thing easier to maintain. The trade-off is a couple of wrinkles
in the build process.
@ -14,9 +14,9 @@ PREMAKE BUILD INSTRUCTIONS
GENERATING THE PROJECT FILES
If you downloaded a source code package from SourceForge, the project
files are already included and you can skip ahead to the next section.
If you downloaded the sources from Subversion, you'll need to generate
new projects files before you can build.
files are already included (in build/) and you can skip ahead to the
next section. If you downloaded the sources from Subversion, you'll
need to generate new projects files before you can build.
In order to generate the project files, you need a working version of
Premake, either 3.x or 4.x versions, installed on your system. You can
@ -34,16 +34,16 @@ GENERATING THE PROJECT FILES
premake --target gnu
premake --target vs2005
Use the "--help" option to see all available targets.
Use the "--help" option to see all of the available targets.
RELEASE AND DEBUG BUILDS
Premake can be built in either "release" or "debug" modes. You can
choose which configuration to build with the CONFIG argument:
choose which configuration to build with the "config" argument:
make CONFIG=Debug -- build in debug mode
make CONFIG=Release -- build in release mode
make config=debug -- build in debug mode
make config=release -- build in release mode
(IDEs like Visual Studio provide their own mechanism for switching
build configurations).
@ -53,8 +53,8 @@ RELEASE AND DEBUG BUILDS
the disk at runtime, enabling compile-less code/test iterations. But
it needs some help to find the scripts.
You can specify the location of the scripts in one of two ways. You
can use the /scripts command line argument, like so:
You can specify the location of the scripts in one of two ways: using
the /scripts command line argument, like so:
premake4 /scripts=~/Code/premake4/src gmake
@ -82,7 +82,10 @@ COMPILING SCRIPTS
CONFUSED?
I'll be glad to help you out. Stop by the main project website where
you leave a note in the forums (the preferred approach), join the
you can leave a note in the forums (the preferred approach), join the
mailing list, or contact me directly.
http://industriousone.com/premake
Enjoy!

View File

@ -1,10 +1,365 @@
-----
4.0 (in progress)
--------------------
-----
This version is a complete rewrite of Premake.
- New, more readable syntax for project information
- New, more readable and extensible syntax for projects
- More robust syntax validation
- Better validation of command-line arguments
- Standardized path handling across all project settings
- Template system allows script-based custom generators
- Improved path handling across all project settings
- Upgraded to Lua 5.1.2
-----
3.7
-----
- Updated Lua to 5.1.3
- Added new CodeLite support target (Ryan Pusztai)
- Added new cb-ow (Code::Blocks Open Watcom) target (Tim Channon)
- Place OSX winexe's into Content/MacOS folder (William Burnson)
- Sibling executables may now be listed in package.links
- Bug 1520012: Improper Makefiles when filenames have spaces
(Diaa Sami)
- Bug 2045506: "no-exceptions" flag ignored for VS200x (Benoit Miller)
- Bug 2034470: Error in cmd line error handler
- Bug 2114152: package or config table isn't generated automatically
-----
3.6
-----
- Patch 1946122: Add support for VS2008 (Ryan Pusztai)
- Patch 1913448: Win32 crash when using '--clean --usetargetpath'
(David Walters)
- Patch 1771168: luaL_getn speed optimization (Richard O'Grady)
- Bug 1939089: Premake segfault on Linux/PPC (Fabio Till)
- Fixed "bad argument #2 to 'chdir'" error
- Disable -MMD on multiple -arch flags (poor man's Universal binary
support)
-----
3.5
-----
- Prevent creation of import libraries on OS X
- Improved handling of dylibs on OS X
- Patch 1771977: Ability to compile C source as C++ in Code::Blocks
(Ryan Pusztai)
- Bug 1804810: out-implib not present in linux gnu compler toolchain
- Bug 1806949: .Net reference paths are broken when bindir is specified
- Bug 1806960: Make clean does not remove .mdb files
- Bug 1831389: Makefiles stored in subdirs contain no targets on
first run
-----
3.4
-----
- Added `no-pch` flag to suppress precompiled headers
- Added App.config support to GNU makefiles
- Add os.mkdir() to script environment
- Makefile now creates target directory before copying .NET references
- Feature 1520182: Enhanced file-handling functions
- Bug 531878: Problems with relative paths
- Bug 1723867: Config-specific post-build on GNU target (Benoit Miller)
- Bug 1596826: XML targets doesn't escape xml entities
- Bug 1600155: Core dump due to newpackage() and matchfiles()
- Bug 1608895: resgen command shown
- Bug 1639730: Output filename is not set
- Bug 1729227: non-portable executable with relative library path
- Bug 1559951: default clean rule removes package dir
- Patch 1733674: PCH support for Code::Block targets (Ryan Pusztai)
- Patch 1746563: Ability to specify GUID for VS targets (Ryan Pusztai)
- Patch 1754867: Creating import lib of different name (Ryan Pusztai)
-----
3.3
-----
- Added support for prebuild, prelink, and postbuild commands
- Added `target` global variable to script environment
- Added build flag `no-edit-and-continue`
- Added build flags `native-wchar` and `no-native-wchar`
- Added build flag `no-manifest`
- Added build flag `seh-exceptions` (VS2005 only)
- Added `resdefines`, `respaths`, and `resoptions`
- Added `prebuildcommands`, `prelinkcommands`, and `postbuildcommands`
- Added `pchheader` and `pchsource` (Visual Studio only)
- Feature 1337547: Package-level bindir and libdir
- Bug 1565755: Generated makefiles do not work with MSYS
- Bug 1587955: Target path ignored for libs
- Bug 1574725: Static library extension for "gnu" target
- Bug 1522861: Fixed by using "ar -rcs" instead of "ar -cr && ranlib"
- Bug 1656816: Mkdir set wrong directory rights
- Bug 1655595: Compile/build problem on FreeBSD
- Bug: "gnu" clean rule doesn't work in cmd.exe
- Improved behavior of Linux findlib()
- Updated Code::Blocks support to latest project version
(major="1" minor="6")
- Patch 1681666: GNU targets always show the console if kind = 'winexe'
-----
3.2
-----
- Added support for Code::Blocks
- Updated MonoDevelop support
- Upgraded Lua to 5.0.3
- Added new matchdirs() to Lua script environment
- Expose list of packages as _PACKAGES global in Lua
- Turn off edit-and-continue in release builds with symbols
- Bug 1559873: libpaths inserts extra space after -L
-----
3.1
-----
- Added support for Visual Studio 2005
- Added support for Windows resources to GNU make target
- Added path handling functions to Lua environment
- Added matchrecursive() for recursive file searches
- Added os.fileexists() function to Lua environment
- Added os.appendfile() function to Lua environment
- Changed `monoresgen` to `resgen` to keep up with Mono project
- Added `mono2` .NET compiler set for Mono .NET 2.0 support
- Feature 1096677: exclude files from matchfiles (package.excludes)
- Bug 1439463: VS2003 RTTI problem
- Bug 1439446: GNU Makefile problem under Mingw32
- Bug 1422068: package.path="." causes bad makefiles
- Bug 1431530: makefile target fails when project path specified
-----
3.0
-----
- Upgraded Lua interpreter to version 5.0.1
- The options table now stores simple values, rather than tables
- Completed MonoDevelop support
- Improved .NET resource handling for GNU generator
- Added unit test suite
- Merged Scott Graham unicode build flag patch
- Removed package.warninglevel in favor of extra-warnings flag
- Added package.targetprefix
- Overhauled structure of generated GNU makefiles
- Added --os command line option
- Fixed bug 1268588: Use gcc to link C packages
- Fixed bug 1363306: GNU C# should copy referenced DLLs
-----
2.4
-----
- Added chdir() to Lua script environment
- Merged Thomas Harning's patch for .NET resources on GNU
- Fixed bug 1194702: Can't put multiple packages in same directory
- Fixed bug in GNU shared library builds (doh!)
- Added target 'vs2002' to replace 'vs7'
-----
2.3
-----
- Added 'project.config[]' with 'bindir' and 'libdir'
- Merged Scott Graham's "warninglevel" patch.
- Fixed bug 1153484: Import lib in wrong directory.
- Fixed bug 1013352: Stack overflow with large projects.
- Fixed bug 945406: package.files, bad value = crash
-----
2.2
-----
- Worked around VS.NET bug for .NET assemblies > 64K.
- Added --very-verbose flag to GNU generator.
- GNU generator now supports assembly sources.
-----
2.1
-----
- File extension of generated binaries can now be set
with config.targetextension.
- Windows targets now handle .def files for DLLs.
-----
2.0
-----
- Can now specify build actions per file
- Include paths are now passed to VC7 resource compiler
- Removed _WIN32 define from Cygwin makefiles
- Added package.objdir to set intermediates directory
- Added rmdir() to Lua script environment
- A big bag of bug fixes
-----
1.9
-----
- Made verbose mode even more verbose.
- posix.c now builds properly as C.
- Fixed package dependency generation for GNU and VS2003.
- Display Lua version number in usage text.
- Fixed VS link between *.aspx and *.aspx.cs files.
- Fixed VS link between *.resx and *.cs files.
- Fixed *.d file generation for gcc 2.9x.
- Unified various help options under '--help'.
- Bin and Lib paths can now be arbitrarily long.
- linkoptions are now applied in VC6 and VC7 projects.
-----
1.8
-----
- Added support for ASP.NET projects.
- Fixed a bug in VC6 support for static libraries.
- matchfiles() now uses package path instead of script path.
- Added --verbose option.
- No longer apply no-rtti and no-exceptions to *.c files.
-----
1.7
-----
- Location of generated project files can now be specified with
the project.path variable.
- Inter-package dependencies are fixed for GNU makefiles.
- No longer need to execute in same directory as project script.
- Added "c" language specifier.
- Added support for .resx and .config files to C# projects.
- Added support for full assembly names in .NET references.
- Fixed handling of paths in package.target variable.
- Improved support for SharpDevelop.
- Started support for OS X.
- Added support for Digital Mars compiler.
-------
1.6.1
-------
- VS7 generator crashed if a package was built before one of its
dependencies. Now immediately assigns UUID before processing.
-----
1.6
-----
- Added support for Visual Studio 2003 and SharpDevelop.
- Added binaries directory as a reference path for VS7.
-----
1.5
-----
- Added initial support for building static libraries.
- Added "no-main" flag, prevents overriding WinMain() on
Windows builds.
- Added "--no-rtti" and "no-exceptions" build flags to
disable those C++ features.
- Display error message when project has no packages.
- Moved VC7 *.pdb files into intermediates directory.
-----
1.4
-----
- Bug fixes to the path manipulation routines.
- GNU makefiles are regenerated when premake scripts change.
-----
1.3
-----
- Added support for the Cygwin environment.
- Added "static-runtime" build flag to statically link against C/C++
standard runtime libraries.
- Bug fixes to Visual Studio 6 and 7 generators and path reversing
algorithm.
-----
1.2
-----
- Standardized format of command-line options.
- Can now handle custom command-line options in script.
- Added new function findlib().
- Added new C++ build flag "managed" for writing C++ .NET code.
- Can now use open-source C# compilers in VS6 generator.
- Several bug fixes to the VS7 generator.
-----
1.1
-----
- Added support for custom build configurations. Added "optimize",
"optimize-size", "optimize-speed", and "no-symbols" flags to control
build settings.
- Added matchfiles() to select files using wildcards.
- Added "unsafe" flag for C# projects.
- Added newpackage() function for creating new package objects inline,
instead of creating separate scripts.
- Changed include() to dopackage() and option() to addoption(). The old
versions have been kept for compatibility, but will be deprecated
eventually.
- Major cleanup of the source code.
-----
1.0
-----
- Fixed a bug related to the reference paths in VS7 C# projects.
- Display a warning message if a reference path can't be found.
- Automatically create bin and lib directories if they do not exist.
- GNU C# projects will now properly use the configured library paths.
-------
0.9.2
-------
- Added --with-mono and --with-pnet options.
- VS7 C# projects will now properly use the configured library paths.
-------
0.9.1
-------
- Switched to Lua (http://www.lua.org/) for project script parsing.
- Add support for custom project options.
- Changed 'type' to 'kind' to avoid conflict with Lua function of the
same name.
- Changed 'conexe' to 'exe' because I liked it better.
- Changed 'library' to 'dll' for C# projects to keep things consistent.
-------
0.9.0
-------
- Initial public release.

View File

@ -1,7 +1,7 @@
PREMAKE
A build configuration tool
Copyright (C) 2002-2008 by Jason Perkins
Copyright (C) 2002-2009 by Jason Perkins
Distributed under the GNU General Public License, see LICENSE.txt
The Lua language and runtime library is (C) TeCGraf, PUC-Rio.

View File

@ -10,7 +10,7 @@
#define VERSION "SVN"
#define COPYRIGHT "Copyright (C) 2002-2008 Jason Perkins and the Premake Project"
#define COPYRIGHT "Copyright (C) 2002-2009 Jason Perkins and the Premake Project"
#define ERROR_MESSAGE "%s\n"