Skip to content

Commit 14a21c3

Browse files
committed
Merge branch 'release-5.0-alpha12' into release
2 parents 5dfb023 + 2ebc345 commit 14a21c3

File tree

633 files changed

+48627
-26842
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

633 files changed

+48627
-26842
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Makefile
2626
*.ncb
2727
*.vcproj*
2828
*.vcxproj*
29+
*.VC.opendb
30+
*.VC.db
2931
*.opensdf
3032
*.workspace
3133
*.project

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ os:
44

55
script:
66
- make -f Bootstrap.mak $TRAVIS_OS_NAME
7+
- make -C build/bootstrap -j config=debug
78
- bin/release/premake5 test
89

Bootstrap.mak

+55-23
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,42 @@
1-
MSDEV = vs2012
2-
LUA_DIR = contrib/lua/src
1+
MSDEV = vs2012
2+
LUA_DIR = contrib/lua/src
3+
LUASHIM_DIR = contrib/luashim
34

45
SRC = src/host/*.c \
56
$(LUA_DIR)/lapi.c \
6-
$(LUA_DIR)/lcode.c \
7-
$(LUA_DIR)/ldebug.c \
8-
$(LUA_DIR)/ldump.c \
9-
$(LUA_DIR)/lgc.c \
10-
$(LUA_DIR)/liolib.c \
11-
$(LUA_DIR)/lmathlib.c \
12-
$(LUA_DIR)/loadlib.c \
13-
$(LUA_DIR)/lopcodes.c \
14-
$(LUA_DIR)/lparser.c \
15-
$(LUA_DIR)/lstring.c \
16-
$(LUA_DIR)/ltable.c \
17-
$(LUA_DIR)/ltm.c \
18-
$(LUA_DIR)/lvm.c \
197
$(LUA_DIR)/lbaselib.c \
8+
$(LUA_DIR)/lbitlib.c \
9+
$(LUA_DIR)/lcode.c \
10+
$(LUA_DIR)/lcorolib.c \
11+
$(LUA_DIR)/lctype.c \
2012
$(LUA_DIR)/ldblib.c \
13+
$(LUA_DIR)/ldebug.c \
2114
$(LUA_DIR)/ldo.c \
15+
$(LUA_DIR)/ldump.c \
2216
$(LUA_DIR)/lfunc.c \
17+
$(LUA_DIR)/lgc.c \
2318
$(LUA_DIR)/linit.c \
19+
$(LUA_DIR)/liolib.c \
2420
$(LUA_DIR)/llex.c \
21+
$(LUA_DIR)/lmathlib.c \
2522
$(LUA_DIR)/lmem.c \
23+
$(LUA_DIR)/loadlib.c \
2624
$(LUA_DIR)/lobject.c \
25+
$(LUA_DIR)/lopcodes.c \
2726
$(LUA_DIR)/loslib.c \
27+
$(LUA_DIR)/lparser.c \
2828
$(LUA_DIR)/lstate.c \
29+
$(LUA_DIR)/lstring.c \
2930
$(LUA_DIR)/lstrlib.c \
31+
$(LUA_DIR)/ltable.c \
3032
$(LUA_DIR)/ltablib.c \
33+
$(LUA_DIR)/ltm.c \
3134
$(LUA_DIR)/lundump.c \
32-
$(LUA_DIR)/lzio.c
35+
$(LUA_DIR)/lutf8lib.c \
36+
$(LUA_DIR)/lvm.c \
37+
$(LUA_DIR)/lzio.c \
3338

34-
PLATFORM = none
39+
PLATFORM= none
3540
default: $(PLATFORM)
3641

3742
none:
@@ -42,33 +47,60 @@ none:
4247
@echo "or"
4348
@echo " make -f Bootstrap.mak HOST_PLATFORM"
4449
@echo "where HOST_PLATFORM is one of these:"
45-
@echo " osx linux"
50+
@echo " osx linux bsd"
4651

4752
mingw: $(SRC)
53+
$(SILENT) rm -rf ./bin
54+
$(SILENT) rm -rf ./build
55+
$(SILENT) rm -rf ./obj
4856
mkdir -p build/bootstrap
49-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -I"$(LUA_DIR)" $? -lole32
57+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $? -lole32
5058
./build/bootstrap/premake_bootstrap embed
5159
./build/bootstrap/premake_bootstrap --os=windows --to=build/bootstrap gmake
5260
$(MAKE) -C build/bootstrap
5361

5462
osx: $(SRC)
63+
$(SILENT) rm -rf ./bin
64+
$(SILENT) rm -rf ./build
65+
$(SILENT) rm -rf ./obj
5566
mkdir -p build/bootstrap
56-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_USE_MACOSX -I"$(LUA_DIR)" -framework CoreServices $?
67+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_USE_MACOSX -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" -framework CoreServices -framework Foundation -framework Security -lreadline $?
5768
./build/bootstrap/premake_bootstrap embed
5869
./build/bootstrap/premake_bootstrap --to=build/bootstrap gmake
5970
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN`
6071

6172
linux: $(SRC)
73+
$(SILENT) rm -rf ./bin
74+
$(SILENT) rm -rf ./build
75+
$(SILENT) rm -rf ./obj
76+
mkdir -p build/bootstrap
77+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $? -lm -ldl -lrt
78+
./build/bootstrap/premake_bootstrap embed
79+
./build/bootstrap/premake_bootstrap --to=build/bootstrap gmake
80+
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN`
81+
82+
bsd: $(SRC)
83+
$(SILENT) rm -rf ./bin
84+
$(SILENT) rm -rf ./build
85+
$(SILENT) rm -rf ./obj
6286
mkdir -p build/bootstrap
63-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" $? -lm -ldl -lrt
87+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $? -lm
6488
./build/bootstrap/premake_bootstrap embed
6589
./build/bootstrap/premake_bootstrap --to=build/bootstrap gmake
6690
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN`
6791

68-
windows: $(SRC)
92+
windows-base: $(SRC)
93+
$(SILENT) if exist .\bin rmdir /s /q .\bin
94+
$(SILENT) if exist .\build rmdir /s /q .\build
95+
$(SILENT) if exist .\obj rmdir /s /q .\obj
6996
if not exist build\bootstrap (mkdir build\bootstrap)
70-
cl /Fo.\build\bootstrap\ /Fe.\build\bootstrap\premake_bootstrap.exe /DPREMAKE_NO_BUILTIN_SCRIPTS /I"$(LUA_DIR)" user32.lib ole32.lib $**
97+
cl /Fo.\build\bootstrap\ /Fe.\build\bootstrap\premake_bootstrap.exe /DPREMAKE_NO_BUILTIN_SCRIPTS /I"$(LUA_DIR)" /I"$(LUASHIM_DIR)" user32.lib ole32.lib advapi32.lib $**
7198
.\build\bootstrap\premake_bootstrap.exe embed
7299
.\build\bootstrap\premake_bootstrap --to=build/bootstrap $(MSDEV)
100+
101+
windows: windows-base
73102
devenv .\build\bootstrap\Premake5.sln /Upgrade
74103
devenv .\build\bootstrap\Premake5.sln /Build Release
104+
105+
windows-msbuild: windows-base
106+
msbuild /p:Configuration=Release /p:Platform=Win32 .\build\bootstrap\Premake5.sln

CHANGES.txt

+126-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,131 @@
55
See https://github.com/premake/premake-core/wiki/What's-New-in-5.0
66
for the complete list of changes from the Premake 4.x series.
77

8+
Since 5.0-alpha11:
9+
10+
* PR #617 fix switch/separator in rules_xml (@Blizzard)
11+
* PR #639 Add MSBuild target to Bootstrap.mak (@nta)
12+
* PR #644 Don't treat "dependson" libraries as "links" libraries in Xcode (@macsforme)
13+
* PR #659 Add C11 flag support for GCC (@resetnow)
14+
* PR #668 Fix sporadic failures when using make -j# (@UmbraSoftware)
15+
* PR #672 Fix issue with msc.getlinks and vstudio.getLinks returning different results when 'explicit' is true. (@Blizzard)
16+
* PR #673 Add additional tokens to fileconfig and vs2010+. (@Blizzard)
17+
* PR #675 update semver.lua (@Blizzard)
18+
* PR #678 Escape string literals passed to defines() for Xcode (@macsforme)
19+
* PR #679 Better detect debug build (@TurkeyMan)
20+
* PR #685 Detect native source files. (@TurkeyMan)
21+
* PR #686 Refactor language flags to go through the language API. (@Blizzard)
22+
* PR #687 Windows Registry (@tvandijck)
23+
* PR #690 make buffered_io available for c code too. (@Blizzard)
24+
* PR #707 Fix missing CA certs on Windows (@Jusonex)
25+
* PR #718 Adding support for NotSet characterset in VS2010+ (#79) (@Blizzard)
26+
* PR #721 Fix CodeLite linking issues (@Blizzard)
27+
* PR #728 Add support of UTF-8 for Windows (@DrLynix)
28+
* PR #732 Fix VS2013 and older always rebuilding when debug symbols explicitly … (@jstewart)
29+
* PR #733 Generated project files are now correctly located beside script (@LORgames)
30+
* PR #734 NuGet fixes (@aleksijuvani)
31+
* PR #735 Fixed issue with Clang not actually supporting floatingpoint 'strict' (@LORgames)
32+
* PR #736 Fixed issue where VS2010+ projects didn't support floatingpoint 'Default' (@LORgames)
33+
* PR #737 Add string.escapepattern function (@aleksijuvani)
34+
* PR #738 Update curl to 7.53.1 (@aleksijuvani)
35+
* PR #739 Refactor _OS, os.get() & os.is() (@Blizzard)
36+
* PR #740 Properly deprecate WinMain flag (@LORgames)
37+
* PR #742 Added BSD support (@LORgames)
38+
* PR #743 Clean up the deprecated APIs (@industriousone)
39+
* PR #745 Fixed issue with using startproject API in CodeLite (@LORgames)
40+
* PR #746 Fixed erroneous escape usages in VS2010+ (@LORgames)
41+
* PR #747 Bootstrap makefile now cleans up previous builds before building (@LORgames)
42+
* PR #748 os.translateCommands now supports multiple tokens (@LORgames)
43+
* PR #749 Updated packaging script (@LORgames)
44+
* PR #751 CompileAs element handles C++ now (@LORgames)
45+
* PR #752 Fixed various issues with compiling with VS2012 (@LORgames)
46+
* PR #753 Added proxy URL to http options (@LORgames)
47+
* PR #754 Fixed issue with the OBJDIR value not being escaped (@LORgames)
48+
* PR #755 Add 'supports_language' callback to action (@Blizzard)
49+
* PR #756 Fix a call to deprecated os.get() (@Blizzard)
50+
* PR #757 Increased consistency of p. usage (@LORgames)
51+
* PR #758 Cleaned up inconsistencies in whitespace (@LORgames)
52+
* PR #760 Adding ARM support for Visual Studio. (@Blizzard)
53+
* PR #761 Removed echo off in VS rules prop generator (@LORgames)
54+
* PR #763 [core] Print warnings in purple (@Blizzard)
55+
* PR #764 [core] get file/line information on deprecated API's. (@Blizzard)
56+
* PR #768 [core] Fix Visual Studio ExecutablePath settings. (@Blizzard)
57+
* PR #769 [core] new cmd path decorations with %[] syntax (@Blizzard)
58+
* PR #771 [core] Use 'compileAs' API (@Blizzard)
59+
* PR #772 [core] Don't set default entrypoint, rely on visual studio default. (@Blizzard)
60+
* PR #774 Assure a default toolset is always set. (@Blizzard)
61+
* PR #776 [core] Use 'cdialect' and 'cppdialect' instead of 'language'. (@Blizzard)
62+
* PR #778 Added support at the file level for the NoPCH flag in VS200x projects (@LORgames)
63+
* PR #779 add os.findheader() (@noresources)
64+
* PR #781 Allow filters to be written as tables: (@Blizzard)
65+
* PR #785 Unicode file functions for Windows (@DrLynix)
66+
* PR #786 Fix typo in embed.lua (@DrLynix)
67+
* PR #787 os.comparefiles function (@DrLynix)
68+
* PR #788 Provide a way to 'tag' systems, and filter on those tags. (@Blizzard)
69+
* PR #789 Add 'tags' filter api. (@Blizzard)
70+
* PR #790 [self-test] fix nil dereference crash in test.isequal (@Blizzard)
71+
* PR #798 create object directory before generating precompiled header (@noresources)
72+
* PR #801 Groups in XCode workspace working. (@ricka)
73+
* PR #802 Suppress mkdir warning on Windows if the folder already exists (@aleksijuvani)
74+
* PR #803 Gmake2 module (@Blizzard)
75+
* PR #804 Update to Lua 5.3.4 (@Blizzard)
76+
* PR #805 Add --insecure option for SSL curl requests. (@Blizzard)
77+
* PR #806 Add premake.isSemVer function (@Blizzard)
78+
* PR #807 Added visual studio support for dot net .tt files (@Blizzard)
79+
* PR #808 Added per file rtti generation for Visual Studio (@Blizzard)
80+
* PR #809 Added os touchfile and a workaround for vs2010 reloading (@Blizzard)
81+
* PR #810 Added masm handling of seh exception handling for VS2010 and above (@Blizzard)
82+
* PR #811 Add 'preferredtoolarchitecture' API (@Blizzard)
83+
* PR #812 Add support for cppdialect in VS2015 & VS2017 actions. (@Blizzard)
84+
* PR #813 Add json.encode_pretty wrapper. (@Blizzard)
85+
* PR #814 Add premake.info message function. (@Blizzard)
86+
* PR #815 Errors in red. (@Blizzard)
87+
* PR #816 Fixed C++17 flag to work with current versions of Clang. (@Blizzard)
88+
* PR #817 A few gmake2 fixes due to it moving into a module. (@premake)
89+
* PR #818 Make module of 'gmake' action. (@Blizzard)
90+
* PR #821 Attempt at colors on linux (@Blizzard)
91+
* PR #822 Move VStudio action into a module. (@Blizzard)
92+
* PR #824 Set default toolsets for vs2005 and vs2008. (@Blizzard)
93+
* PR #825 Use workspace everywhere (@Blizzard)
94+
* PR #826 Escape '&' -> '&' (@Mikhael)
95+
* PR #827 Added option to create bundle and frameworks on macOS. (@Blizzard)
96+
* PR #828 Normalize path in 'getfileinfo' for local host. (@Blizzard)
97+
* PR #829 Reduced vs2010+ file sizes by removing redundant config settings (@Blizzard)
98+
* PR #830 Resource generator access (@Blizzard)
99+
* PR #831 Fix in oven, for options that are not strings. (@Blizzard)
100+
* PR #832 Fix a few compiler warnings (@Blizzard)
101+
* PR #833 Fix empty rules. (@Blizzard)
102+
* PR #834 Allow modules to register C code too. (@Blizzard)
103+
* PR #836 Hook setTextColor in tests, so on linux/mac we don't get random color… (@Blizzard)
104+
* PR #837 Removed "installer" kinds from vs2017. (@premake)
105+
* PR #838 Fix bug in 'action.isConfigurable' not checking for onWorkspace. (@Blizzard)
106+
* PR #839 Expand {...} macros in pre|post build commands for codelite (@Mikhael)
107+
* PR #840 Proof of concept for binary modules. (@tvandijck)
108+
* PR #842 Add bsd to the output of possible platforms (@ejb1123)
109+
* PR #843 fix bug in testing framework leaving tests in random working folders. (@tvandijck)
110+
* PR #844 fix unreferenced argument warning. (@tvandijck)
111+
* PR #849 Write out build log element for VS utility projects (@mendsley)
112+
* PR #851 Fix handling of unconventional NuGet .NET Framework folders (@aleksijuvani)
113+
* PR #854 [core] Add High as a new warning level (@Blizzard)
114+
* PR #855 Add filter for <Image> files (#135) (@Blizzard)
115+
* PR #856 Fix path_getrelative for Windows (@Blizzard)
116+
* PR #857 Fix action override targetos (@Blizzard)
117+
* PR #858 Fix Nuget package handling to support Unix-style paths (@tritao)
118+
* PR #859 Use NuGet package cache instead of the API if possible (@aleksijuvani)
119+
* PR #860 fix for build failure on macOS in debug. (@Blizzard)
120+
* PR #861 Allow embedding of binary resources. (@Blizzard)
121+
* PR #862 small optimization in oven. (@Blizzard)
122+
* PR #863 fix for duplicate 'allowed'. (@Blizzard)
123+
* PR #864 move tags into globally accessible table, so we don't have to overload… (@Blizzard)
124+
* PR #865 Remove "test.print" calls. (@Blizzard)
125+
* PR #866 fix os.istarget and os.ishost to use the systemTags table as well. (@Blizzard)
126+
* PR #867 Fix path translate (@Blizzard)
127+
* PR #868 Filters always have to use \ regardless of target platform. (@Blizzard)
128+
* PR #870 Fix prj.system bug in oven. (@Blizzard)
129+
* PR #872 Rework binmodule example to silence unit test console output (@starkos)
130+
* PR #874 Disable failing `os.findheader()` unit test on macOS (@starkos)
131+
132+
8133
Since 5.0-alpha10:
9134

10135
* PR 523 New API symbols() replaces and extends "Symbols" flag
@@ -34,7 +159,7 @@ Since 5.0-alpha10:
34159
* PR 613 Fix os.match() detection of dot files
35160
* PR 607 Remove support for deprecated MonoDevelop project formats
36161
* PR 600 Fix VS support for symbolpath()
37-
* PR 512 Make Clang default toolset for macOS
162+
* PR 521 Make Clang default toolset for macOS
38163
* PR 624 GCC support for C90 and C99
39164
* PR 628 New API linkbuildoutputs() disables automatic linking of *.obj files
40165
* PR 635 Improved parallelization of Makefile builds

CONTRIBUTORS.txt

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
As the number of Premake contributors has grown, this list has become more
2+
difficult to manage in a meaningful way. I'm leaving it here as part of the
3+
historical records. If you find yourself in need of a list of contributors,
4+
consider running:
5+
6+
git shortlog -sn
7+
8+
--------------------------------------------------------------------------
9+
110
This file contains a list of people who've made non-trivial contributions
211
to Premake 5. People who commit code to the project are encouraged to
312
add their names here. And many thanks to those who contributed fixes and

binmodules/example/main.c

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include <luashim.h>
2+
3+
4+
static int example_test(lua_State* L)
5+
{
6+
lua_pushstring(L, "hello ");
7+
lua_pushvalue(L, 1);
8+
lua_concat(L, 2);
9+
return 1;
10+
}
11+
12+
13+
static const luaL_Reg example_functions[] = {
14+
{ "test", example_test },
15+
{ NULL, NULL }
16+
};
17+
18+
19+
#ifdef _WIN32
20+
__declspec(dllexport) int luaopen_example(lua_State *L)
21+
#else
22+
int luaopen_example(lua_State *L)
23+
#endif
24+
{
25+
shimInitialize(L);
26+
luaL_register(L, "example", example_functions);
27+
return 0;
28+
}

binmodules/example/premake5.lua

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
project "example"
2+
language "C"
3+
kind "SharedLib"
4+
warnings "extra"
5+
6+
includedirs {
7+
"../../contrib/lua/src",
8+
"../../contrib/luashim"
9+
}
10+
11+
links { 'luashim-lib' }
12+
13+
files
14+
{
15+
"*.c",
16+
"*.lua"
17+
}
18+
19+
filter "system:not windows"
20+
targetprefix ""
21+
targetextension ".so"
22+
pic "on"
23+
24+
filter "configurations:Release"
25+
targetdir "../../bin/release"
26+
27+
filter "configurations:Debug"
28+
targetdir "../../bin/debug"

contrib/curl/include/README

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ The following notes apply to libcurl version 7.19.0 and later.
3737
also distribute along with it the generated curl/curlbuild.h which has been
3838
used to compile it. Otherwise the library will be of no use for the users of
3939
the library that you have built. It is _your_ responsibility to provide this
40-
file. No one at the cURL project can know how you have built the library.
40+
file. No one at the curl project can know how you have built the library.
4141

4242
* File curl/curlbuild.h includes platform and configuration dependent info,
4343
and must not be modified by anyone. Configure script generates it for you.

0 commit comments

Comments
 (0)