vm: Fix DEBUG flag, make REPRODUCIBLE work like debug, minor fixes to build.sh
- ``make DEBUG=0`` caused debug mode because the check was ``ifdef DEBUG`` which is true even if DEBUG=0 - no need to ``#pragma message`` that we are doing a reproducible build imo - clang warns about redefining builtin macros, turn the warning off for reproducible builds - add ``./build.sh info`` as an alias for ``./build.sh report`` - show if we a reproducible in report/infowindows-drag
parent
044f7bbe11
commit
a9871b39aa
12
GNUmakefile
12
GNUmakefile
|
@ -1,9 +1,9 @@
|
||||||
ifdef CONFIG
|
ifdef CONFIG
|
||||||
VERSION = 0.99
|
VERSION = 0.99
|
||||||
GIT_LABEL = $(shell echo `git describe --all`-`git rev-parse HEAD`)
|
GIT_LABEL = $(shell echo `git describe --all`-`git rev-parse HEAD`)
|
||||||
REPRODUCIBLE ?= 0
|
|
||||||
|
|
||||||
BUNDLE = Factor.app
|
BUNDLE = Factor.app
|
||||||
|
DEBUG ?= 0
|
||||||
|
REPRODUCIBLE ?= 0
|
||||||
|
|
||||||
include $(CONFIG)
|
include $(CONFIG)
|
||||||
|
|
||||||
|
@ -11,17 +11,20 @@ ifdef CONFIG
|
||||||
-pedantic \
|
-pedantic \
|
||||||
-DFACTOR_VERSION="$(VERSION)" \
|
-DFACTOR_VERSION="$(VERSION)" \
|
||||||
-DFACTOR_GIT_LABEL="$(GIT_LABEL)" \
|
-DFACTOR_GIT_LABEL="$(GIT_LABEL)" \
|
||||||
-DFACTOR_REPRODUCIBLE="$(REPRODUCIBLE)" \
|
|
||||||
$(SITE_CFLAGS)
|
$(SITE_CFLAGS)
|
||||||
|
|
||||||
CXXFLAGS += -std=c++11
|
CXXFLAGS += -std=c++11
|
||||||
|
|
||||||
ifdef DEBUG
|
ifneq ($(DEBUG), 0)
|
||||||
CFLAGS += -g -DFACTOR_DEBUG
|
CFLAGS += -g -DFACTOR_DEBUG
|
||||||
else
|
else
|
||||||
CFLAGS += -O3
|
CFLAGS += -O3
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(REPRODUCIBLE), 0)
|
||||||
|
CFLAGS += -DFACTOR_REPRODUCIBLE -Wno-builtin-macro-redefined
|
||||||
|
endif
|
||||||
|
|
||||||
ENGINE = $(DLL_PREFIX)factor$(DLL_SUFFIX)$(DLL_EXTENSION)
|
ENGINE = $(DLL_PREFIX)factor$(DLL_SUFFIX)$(DLL_EXTENSION)
|
||||||
EXECUTABLE = factor$(EXE_SUFFIX)$(EXE_EXTENSION)
|
EXECUTABLE = factor$(EXE_SUFFIX)$(EXE_EXTENSION)
|
||||||
CONSOLE_EXECUTABLE = factor$(EXE_SUFFIX)$(CONSOLE_EXTENSION)
|
CONSOLE_EXECUTABLE = factor$(EXE_SUFFIX)$(CONSOLE_EXTENSION)
|
||||||
|
@ -152,6 +155,7 @@ help:
|
||||||
@echo "Additional modifiers:"
|
@echo "Additional modifiers:"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "DEBUG=1 compile VM with debugging information"
|
@echo "DEBUG=1 compile VM with debugging information"
|
||||||
|
@echo "REPRODUCIBLE=1 compile VM without timestamp"
|
||||||
@echo "SITE_CFLAGS=... additional optimization flags"
|
@echo "SITE_CFLAGS=... additional optimization flags"
|
||||||
@echo "X11=1 force link with X11 libraries instead of Cocoa (only on Mac OS X)"
|
@echo "X11=1 force link with X11 libraries instead of Cocoa (only on Mac OS X)"
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ CL_FLAGS = $(CL_FLAGS) /Zi /DFACTOR_DEBUG
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
!IF DEFINED(REPRODUCIBLE)
|
!IF DEFINED(REPRODUCIBLE)
|
||||||
CL_FLAGS = $(CL_FLAGS) /DFACTOR_REPRODUCIBLE=1
|
CL_FLAGS = $(CL_FLAGS) /DFACTOR_REPRODUCIBLE
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
ML_FLAGS = /nologo /safeseh
|
ML_FLAGS = /nologo /safeseh
|
||||||
|
|
15
build.sh
15
build.sh
|
@ -357,6 +357,7 @@ echo_build_info() {
|
||||||
$ECHO NUM_CORES=$NUM_CORES
|
$ECHO NUM_CORES=$NUM_CORES
|
||||||
$ECHO WORD=$WORD
|
$ECHO WORD=$WORD
|
||||||
$ECHO DEBUG=$DEBUG
|
$ECHO DEBUG=$DEBUG
|
||||||
|
$ECHO REPRODUCIBLE=$REPRODUCIBLE
|
||||||
$ECHO CURRENT_BRANCH=$CURRENT_BRANCH
|
$ECHO CURRENT_BRANCH=$CURRENT_BRANCH
|
||||||
$ECHO FACTOR_BINARY=$FACTOR_BINARY
|
$ECHO FACTOR_BINARY=$FACTOR_BINARY
|
||||||
$ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
|
$ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
|
||||||
|
@ -731,7 +732,7 @@ usage() {
|
||||||
$ECHO " bootstrap - bootstrap with existing boot image"
|
$ECHO " bootstrap - bootstrap with existing boot image"
|
||||||
$ECHO " net-bootstrap - recompile, download a boot image, bootstrap"
|
$ECHO " net-bootstrap - recompile, download a boot image, bootstrap"
|
||||||
$ECHO " make-target - find and print the os-arch-cpu string"
|
$ECHO " make-target - find and print the os-arch-cpu string"
|
||||||
$ECHO " report - print the build variables"
|
$ECHO " report|info - print the build variables"
|
||||||
$ECHO " update-boot-image - get the boot image for the current branch of for master"
|
$ECHO " update-boot-image - get the boot image for the current branch of for master"
|
||||||
$ECHO ""
|
$ECHO ""
|
||||||
$ECHO "If you are behind a firewall, invoke as:"
|
$ECHO "If you are behind a firewall, invoke as:"
|
||||||
|
@ -747,6 +748,13 @@ MAKE_TARGET=unknown
|
||||||
if [[ -n "$2" ]] ; then
|
if [[ -n "$2" ]] ; then
|
||||||
parse_build_info $2
|
parse_build_info $2
|
||||||
fi
|
fi
|
||||||
|
$ECHO "args $#"
|
||||||
|
if [ "$#" -gt 3 ]; then
|
||||||
|
usage
|
||||||
|
$ECHO "error: too many arguments"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
set_copy
|
set_copy
|
||||||
set_delete
|
set_delete
|
||||||
|
@ -760,13 +768,12 @@ case "$1" in
|
||||||
deps-pkg) install_deps_pkg ;;
|
deps-pkg) install_deps_pkg ;;
|
||||||
self-update) update; make_boot_image; bootstrap;;
|
self-update) update; make_boot_image; bootstrap;;
|
||||||
quick-update) update; refresh_image ;;
|
quick-update) update; refresh_image ;;
|
||||||
update) update; download_and_bootstrap ;;
|
update|latest) update; download_and_bootstrap ;;
|
||||||
latest) update; download_and_bootstrap ;;
|
|
||||||
compile) find_build_info; make_factor ;;
|
compile) find_build_info; make_factor ;;
|
||||||
bootstrap) get_config_info; bootstrap ;;
|
bootstrap) get_config_info; bootstrap ;;
|
||||||
net-bootstrap) net_bootstrap_no_pull ;;
|
net-bootstrap) net_bootstrap_no_pull ;;
|
||||||
make-target) FIND_MAKE_TARGET=true; ECHO=false; find_build_info; exit_script ;;
|
make-target) FIND_MAKE_TARGET=true; ECHO=false; find_build_info; exit_script ;;
|
||||||
report) find_build_info ;;
|
report|info) find_build_info ;;
|
||||||
full-report) find_build_info; check_installed_programs; check_libraries ;;
|
full-report) find_build_info; check_installed_programs; check_libraries ;;
|
||||||
update-boot-image) find_build_info; check_installed_programs; update_boot_image;;
|
update-boot-image) find_build_info; check_installed_programs; update_boot_image;;
|
||||||
*) usage ;;
|
*) usage ;;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
ifndef DEBUG
|
ifneq ($(DEBUG), 0)
|
||||||
SITE_CFLAGS += -fomit-frame-pointer
|
SITE_CFLAGS += -fomit-frame-pointer
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -52,8 +52,7 @@
|
||||||
#define FACTOR_COMPILER_VERSION "unknown"
|
#define FACTOR_COMPILER_VERSION "unknown"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (FACTOR_REPRODUCIBLE == 1)
|
#if defined(FACTOR_REPRODUCIBLE)
|
||||||
#pragma message "REPRODUCIBLE"
|
|
||||||
#define FACTOR_COMPILE_TIME "[reproducible]"
|
#define FACTOR_COMPILE_TIME "[reproducible]"
|
||||||
#else
|
#else
|
||||||
// Record compilation time
|
// Record compilation time
|
||||||
|
|
Loading…
Reference in New Issue