Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
Simn committed Jan 31, 2017
2 parents 3c940bc + 120e6b5 commit 54090a4
Show file tree
Hide file tree
Showing 1,634 changed files with 6,059 additions and 4,351 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,5 @@ tests/misc/projects/Issue4070/cpp/
/tests/misc/eventLoop/php
*.vscode/

/tests/sys/temp
/tests/sys/temp
*.dll
5 changes: 0 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ env:
- PPA="ppa:haxe/snapshots"
- DEBFULLNAME="Haxe CI Bot"
- DEBEMAIL="[email protected]"
# lua specific versions
- LUAROCKS=2.3.0
- LUA=lua5.2

sudo: required
dist: trusty
Expand Down Expand Up @@ -87,8 +84,6 @@ install_osx: &install_osx
- ls -l out
- export PATH="$PATH:$TRAVIS_BUILD_DIR"
- export HAXE_STD_PATH="$TRAVIS_BUILD_DIR/std"
# Install pip (used in lua test)
- curl https://bootstrap.pypa.io/get-pip.py -o - | sudo python

matrix:
include:
Expand Down
15 changes: 0 additions & 15 deletions .travis/platform.sh

This file was deleted.

6 changes: 0 additions & 6 deletions .travis/setenv_lua.sh

This file was deleted.

125 changes: 0 additions & 125 deletions .travis/setup_lua.sh

This file was deleted.

25 changes: 19 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,26 @@ EXTENSION=
OCAMLOPT?=ocamlopt
OCAMLC?=ocamlc
LFLAGS=
STATICLINK?=0

CFLAGS= -bin-annot
ALL_CFLAGS= $(CFLAGS) -g -w -3 -I libs/extlib -I libs/extc -I libs/neko -I libs/javalib -I libs/ziplib -I libs/swflib -I libs/xml-light -I libs/ttflib -I libs/ilib -I libs/objsize \
ALL_CFLAGS= $(CFLAGS) -g -w -3 -I libs/extlib -I libs/extc -I libs/neko -I libs/javalib -I libs/ziplib -I libs/swflib -I libs/xml-light -I libs/ttflib -I libs/ilib -I libs/objsize -I libs/pcre \
-I src -I src/context -I src/generators -I src/macro -I src/optimization -I src/syntax -I src/typing -I src/display

LIBS=unix str libs/extlib/extLib libs/xml-light/xml-light libs/swflib/swflib \
libs/extc/extc libs/neko/neko libs/javalib/java libs/ziplib/zip \
libs/ttflib/ttf libs/ilib/il libs/objsize/objsize
libs/ttflib/ttf libs/ilib/il libs/objsize/objsize libs/pcre/pcre

NATIVE_LIBS=-cclib libs/extc/extc_stubs.o -cclib libs/extc/process_stubs.o -cclib -lz -cclib libs/objsize/c_objsize.o

ifneq ($(STATICLINK),0)
LIB_PARAMS= -cclib '-Wl,-Bstatic -lpcre -lz -Wl,-Bdynamic '

else
LIB_PARAMS?= -cclib -lpcre -cclib -lz

endif

NATIVE_LIBS=-cclib libs/extc/extc_stubs.o -cclib libs/extc/process_stubs.o -cclib libs/objsize/c_objsize.o -cclib libs/pcre/pcre_stubs.o -ccopt -L/usr/local/lib $(LIB_PARAMS)

ifeq ($(BYTECODE),1)
TARGET_FLAG = bytecode
Expand Down Expand Up @@ -77,6 +87,7 @@ COMMIT_DATE=$(shell \
fi \
)
PACKAGE_FILE_NAME=haxe_$(COMMIT_DATE)_$(COMMIT_SHA)
HAXE_VERSION=$(shell $(OUTPUT) -version 2>&1 | awk '{print $$1;}')

# using $(CURDIR) on Windows will not work since it might be a Cygwin path
ifdef SYSTEMROOT
Expand All @@ -98,6 +109,7 @@ libs:
make -C libs/xml-light OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
make -C libs/ttflib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
make -C libs/objsize OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
make -C libs/pcre OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)

haxe: $(MODULES:%=src/%.$(MODULE_EXT))
$(COMPILER) -o $(OUTPUT) $(NATIVE_LIBS) $(NATIVE_LIB_FLAG) $(LFLAGS) $(LIBS:=.$(LIB_EXT)) $(MODULES:%=src/%.$(MODULE_EXT))
Expand Down Expand Up @@ -182,7 +194,7 @@ src/generators/hlinterp.$(MODULE_EXT): src/context/common.$(MODULE_EXT) src/gene

src/generators/genphp7.$(MODULE_EXT): src/typing/abstract.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/context/meta.$(MODULE_EXT) src/path.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)

src/generators/hl2c.$(MODULE_EXT): src/generators/hlcode.$(MODULE_EXT)
src/generators/hl2c.$(MODULE_EXT): src/generators/hlcode.$(MODULE_EXT) src/context/common.$(MODULE_EXT)

src/generators/hlopt.$(MODULE_EXT): src/generators/hlcode.$(MODULE_EXT)

Expand All @@ -194,7 +206,7 @@ src/generators/genxml.$(MODULE_EXT): src/globals.$(MODULE_EXT) src/context/meta.

# macro

src/macro/interp.$(MODULE_EXT): src/typing/abstract.$(MODULE_EXT) src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/typing/error.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/path.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/generators/genneko.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/generators/genswf.$(MODULE_EXT) src/generators/genjava.$(MODULE_EXT) src/generators/gencs.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT) src/macro/macroApi.$(MODULE_EXT)
src/macro/interp.$(MODULE_EXT): src/typing/abstract.$(MODULE_EXT) src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/typing/error.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/path.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/generators/genneko.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/generators/genswf.$(MODULE_EXT) src/generators/genjava.$(MODULE_EXT) src/generators/gencs.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT) src/macro/macroApi.$(MODULE_EXT) libs/pcre/pcre.$(LIB_EXT)

src/macro/macroContext.$(MODULE_EXT): src/typing/abstract.$(MODULE_EXT) src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/typing/error.$(MODULE_EXT) src/optimization/optimizerTexpr.$(MODULE_EXT) src/typing/overloads.$(MODULE_EXT) src/path.$(MODULE_EXT) src/typing/typeload.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) src/optimization/optimizer.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/macro/interp.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/optimization/filters.$(MODULE_EXT) src/generators/genjs.$(MODULE_EXT) src/display/display.$(MODULE_EXT) src/macro/hlmacro.$(MODULE_EXT) src/macro/macroApi.$(MODULE_EXT)

Expand All @@ -208,7 +220,7 @@ src/optimization/analyzer.$(MODULE_EXT): src/context/meta.$(MODULE_EXT) src/glob

src/optimization/analyzerConfig.$(MODULE_EXT): src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/context/common.$(MODULE_EXT)

src/optimization/analyzerTexpr.$(MODULE_EXT): src/typing/abstract.$(MODULE_EXT) src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/typing/error.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT) src/optimization/optimizerTexpr.$(MODULE_EXT)
src/optimization/analyzerTexpr.$(MODULE_EXT): src/typing/abstract.$(MODULE_EXT) src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/typing/error.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT) src/optimization/optimizerTexpr.$(MODULE_EXT) src/generators/genphp7.$(MODULE_EXT)

src/optimization/analyzerTexprTransformer.$(MODULE_EXT): src/context/meta.$(MODULE_EXT) src/globals.$(MODULE_EXT) src/typing/error.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/context/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT) src/optimization/analyzerTypes.$(MODULE_EXT) src/optimization/analyzerTexpr.$(MODULE_EXT)

Expand Down Expand Up @@ -318,6 +330,7 @@ clean_libs:
make -C libs/xml-light clean
make -C libs/ttflib clean
make -C libs/objsize clean
make -C libs/pcre clean

clean_haxe:
rm -f -r $(MODULES:%=src/%.obj) $(MODULES:%=src/%.o) $(MODULES:%=src/%.cmx) $(MODULES:%=src/%.cmi) $(MODULES:%=src/%.cmo) $(MODULES:%=src/%.cmt) src/syntax/lexer.ml src/version.ml $(OUTPUT)
Expand Down
15 changes: 13 additions & 2 deletions Makefile.win
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,28 @@ CC_CMD=($(OCAMLOPT) $(ALL_CFLAGS) -c $< 2>tmp.cmi && $(FILTER)) || ($(FILTER) &&
CC_PARSER_CMD=($(OCAMLOPT) -pp camlp4o $(ALL_CFLAGS) -c src/syntax/parser.ml 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
endif

PACKAGE_FILES=$(OUTPUT) haxelib$(EXTENSION) std "$$(cygpath -w "$$(which zlib1.dll)")" "$$(cygpath -w "$$(which libpcre-1.dll)")"

package_win:
mkdir -p out
rm -rf $(PACKAGE_FILE_NAME) $(PACKAGE_FILE_NAME).zip temp.zip
# Copy the package contents to $(PACKAGE_FILE_NAME)
# Using poor man's cp (zip then unzip), because cp in cygwin is quite broken
mkdir -p $(PACKAGE_FILE_NAME)
7z a -y -tzip -mx0 temp.zip $(OUTPUT) haxelib$(EXTENSION) std > log.txt || type log.txt
7z a -y -tzip -mx0 temp.zip $(PACKAGE_FILES) > log.txt || type log.txt
cd extra && 7z a -y -tzip -mx0 ../temp.zip LICENSE.txt CONTRIB.txt CHANGES.txt > log.txt || type log.txt
7z x -y temp.zip -o$(PACKAGE_FILE_NAME) > log.txt || type log.txt
rm temp.zip
# archive
7z a -r -tzip out/$(PACKAGE_FILE_NAME)_bin.zip $(PACKAGE_FILE_NAME) > log.txt || type log.txt
rm -r $(PACKAGE_FILE_NAME)
rm log.txt extra/log.txt
rm log.txt extra/log.txt

package_choco:
mkdir -p OUTPUT
7z x -y out/$(PACKAGE_FILE_NAME)_bin.zip -oout > log.txt || type log.txt
mv out/$(PACKAGE_FILE_NAME) out/choco
sed -e 's/@SNAPSHOT_VERSION@/$(HAXE_VERSION)-SNAP$(COMMIT_DATE)/g' extra/choco/haxe.nuspec > out/choco/haxe.nuspec
cd out/choco && choco pack
mv out/choco/haxe.*.nupkg out
rm -rf out/choco
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Haxe allows you to compile for the following targets:
* PHP
* Python
* Lua
* [HashLink](http://hashlink.haxe.org/)

You can try Haxe directly from your browser at [try.haxe.org](http://try.haxe.org)!

Expand All @@ -40,7 +41,7 @@ For the complete Haxe licenses, please see https://haxe.org/foundation/open-sour

## Installing Haxe

The latest stable release is [Haxe 3.4.0-rc.2](https://haxe.org/download/). Pre-built binaries are available for your platform:
The latest stable release is available at [https://haxe.org/download/](https://haxe.org/download/). Pre-built binaries are available for your platform:

* **[Windows installer](https://haxe.org/download/file/latest/haxe-latest-win.exe/)**
* **[Windows binaries](https://haxe.org/download/file/latest/haxe-latest-win.zip/)**
Expand Down Expand Up @@ -91,6 +92,7 @@ Haxe | neko
3.1.3 | 2.0.0
3.2.0 | 2.0.0
3.3.0 | 2.1.0
3.4.0 | 2.1.0


## Contributing
Expand Down
15 changes: 8 additions & 7 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ cache:

install:
- 'git submodule update --init --recursive'
- '%CYG_ROOT%/bin/bash -lc "echo initialize"'
# Install ocaml
- curl -fsS -o cygwin-setup.exe --retry 3 https://cygwin.com/setup-x86.exe
- 'cygwin-setup.exe -g -q -R "%CYG_ROOT%" -P make -P git -P mingw64-i686-zlib -P rsync -P patch -P diffutils -P curl -P unzip -P m4 -P perl -P mingw64-i686-gcc-core'
- 'cygwin-setup.exe -g -q -R "%CYG_ROOT%" -P make -P git -P mingw64-i686-zlib -P rsync -P patch -P diffutils -P curl -P unzip -P m4 -P perl -P mingw64-i686-gcc-core -P mingw64-i686-pcre'
- if not exist "opam32.tar.xz" (
curl -fsS -o opam32.tar.xz --retry 3 https://dl.dropboxusercontent.com/s/eo4igttab8ipyle/opam32.tar.xz
)
- 7z x "opam32.tar.xz" -so | 7z x -aoa -si -ttar
- '%CYG_ROOT%/bin/bash -lc "echo initialize"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && bash opam32/install.sh"'
- '%CYG_ROOT%/bin/bash -lc "opam init mingw \"https://github.com/fdopen/opam-repository-mingw.git\" --comp 4.02.3+mingw32c --switch 4.02.3+mingw32c --auto-setup --yes"'
- '%CYG_ROOT%/bin/bash -lc "opam install camlp4 --yes"'
Expand All @@ -41,21 +41,21 @@ install:
- echo extension=php_sqlite3.dll >> C:\tools\php\php.ini
- echo extension=php_openssl.dll >> C:\tools\php\php.ini
- RefreshEnv
# do not use chocolatey's shim, which is buggy when processing arguments
# see https://github.com/chocolatey/shimgen/issues/27
- set PATH=C:\ProgramData\chocolatey\lib\neko;%PATH%
- neko -version
# setup python
- cmd: mklink C:\Python34-x64\python3.exe C:\Python34-x64\python.exe
- set PATH=%PATH%;C:\Python34-x64
# expose the dll files
- set "PATH=%PATH%;%CYG_ROOT%/usr/i686-w64-mingw32/sys-root/mingw/bin"

build_script:
- 'cd %APPVEYOR_BUILD_FOLDER%'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_src"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win"'
- 'set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%'
- 'set HAXEPATH=%APPVEYOR_BUILD_FOLDER%'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_bin"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_choco"'
- move out\haxe.*.nupkg .
- dir %APPVEYOR_BUILD_FOLDER%\out
- cd %APPVEYOR_BUILD_FOLDER%/tests/
- mkdir "%HAXELIB_ROOT%"
Expand All @@ -73,4 +73,5 @@ test_script:
- neko RunCi.n

artifacts:
- path: out/*
- path: 'out/*.zip'
- path: '*.nupkg'
23 changes: 23 additions & 0 deletions extra/CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
2017-01-31: 3.4.0

General improvements and optimizations:

all : support completion for static extensions (#5766)
all : removed neko dependency for macros, use PCRE instead
all : disabled analyzer optimizations by default, re-enable with -D analyzer-optimize
php7 : generate native `$v instanceof MyType` instead of `Std.is(v, MyType)` where possible for better performance
php7 : added @:phpNoConstructor meta for externs which do not have native php constructors and yet can be constructed
php7 : greatly reduced amount of generated tmp vars
php7 : `Array` performance improvements
hl : made various improvements

Bugfixes:

all : fixed `using` picking up non-static abstract functions (#5888)
all : fixed issue with side-effect detection when optimizing (#5911)
all : fixed issue with zlib bindings causing zlib_deflate errors (#5941)
php7 : Allow user-defined modules in `php` package (#5921)
php7 : Dereference some of `php.Syntax` methods if required (#5923)
php : fixed assigning a method of dynamic value to a variable (#5469)
php : fixed missing initialization of dynamic methods in classes with empty constructors (#4723)

2016-12-24: 3.4.0-RC2

New features:
Expand Down
Loading

0 comments on commit 54090a4

Please sign in to comment.