From 2499ebf4bb24030266a471896928ac739a9c19f3 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Thu, 2 May 2024 15:48:16 +0700 Subject: [PATCH] chore(developer): move windows common Makefiles to build scripts Relates to #11317. --- common/windows/data/Makefile | 20 -- common/windows/data/build.sh | 45 +++ common/windows/delphi/Makefile | 9 - common/windows/delphi/build.sh | 21 ++ common/windows/delphi/components/Makefile | 44 --- common/windows/delphi/components/build.sh | 34 ++ common/windows/delphi/ext/Makefile | 49 --- common/windows/delphi/ext/build.sh | 24 ++ common/windows/delphi/ext/cef4delphi/Makefile | 22 -- common/windows/delphi/ext/cef4delphi/build.sh | 34 ++ .../ext/cef4delphi/packages/CEF4Delphi.dproj | 6 +- common/windows/delphi/ext/dcpcrypt/Makefile | 16 - common/windows/delphi/ext/dcpcrypt/build.sh | 31 ++ common/windows/delphi/ext/jwa/Makefile | 16 - common/windows/delphi/ext/jwa/build.sh | 31 ++ common/windows/delphi/ext/sentry/build.sh | 50 +++ .../windows/delphi/ext/sentry/test/Makefile | 26 -- common/windows/delphi/ext/tds2dbg/Makefile | 21 +- common/windows/delphi/ext/tds2dbg/build.sh | 36 +++ common/windows/delphi/tools/Makefile | 57 ---- common/windows/delphi/tools/build.sh | 14 + .../tools/build_standards_data/Makefile | 38 --- .../tools/build_standards_data/build.sh | 55 ++++ .../delphi/tools/buildunidata/Makefile | 16 - .../delphi/tools/buildunidata/build.sh | 33 ++ .../delphi/tools/certificates/Makefile | 22 -- .../delphi/tools/certificates/build.sh | 39 +++ common/windows/delphi/tools/devtools/Makefile | 25 -- common/windows/delphi/tools/devtools/build.sh | 37 +++ .../windows/delphi/tools/sentrytool/Makefile | 12 - .../windows/delphi/tools/sentrytool/build.sh | 32 ++ .../windows/delphi/tools/test-klog/Makefile | 16 - .../windows/delphi/tools/test-klog/build.sh | 39 +++ .../delphi/tools/verify_signatures/Makefile | 13 - .../delphi/tools/verify_signatures/build.sh | 33 ++ developer/src/Defines.mak | 22 -- developer/src/Header.mak | 14 - developer/src/Makefile | 293 ------------------ developer/src/Target.mak | 2 - developer/src/build.sh | 2 - developer/src/common/build.sh | 2 - developer/src/common/delphi/build.sh | 3 - .../src/common/delphi/components/Makefile | 44 --- developer/src/common/web/build.sh | 2 - developer/src/ext/Makefile | 53 ---- developer/src/ext/browse4folder/build.sh | 2 - developer/src/ext/build.sh | 2 - developer/src/ext/mbcolor/build.sh | 2 - developer/src/ext/scfontcombobox/build.sh | 2 - developer/src/kmanalyze/build.sh | 2 - developer/src/kmc-model-info/Makefile | 38 --- developer/src/kmcmplib/Makefile | 39 --- developer/src/kmconvert/build.sh | 2 - developer/src/kmdecomp/build.sh | 2 - developer/src/samples/Makefile | 16 - developer/src/samples/build.sh | 32 ++ developer/src/samples/imsample/Makefile | 36 --- developer/src/samples/imsample/build.sh | 54 ++++ developer/src/server/Makefile | 34 -- developer/src/setup/Makefile | 42 --- developer/src/setup/build.sh | 2 - developer/src/tike/Makefile | 99 ------ developer/src/tike/build.sh | 2 - 63 files changed, 681 insertions(+), 1180 deletions(-) delete mode 100644 common/windows/data/Makefile create mode 100755 common/windows/data/build.sh delete mode 100644 common/windows/delphi/Makefile create mode 100755 common/windows/delphi/build.sh delete mode 100644 common/windows/delphi/components/Makefile create mode 100755 common/windows/delphi/components/build.sh delete mode 100644 common/windows/delphi/ext/Makefile create mode 100755 common/windows/delphi/ext/build.sh delete mode 100644 common/windows/delphi/ext/cef4delphi/Makefile create mode 100755 common/windows/delphi/ext/cef4delphi/build.sh delete mode 100644 common/windows/delphi/ext/dcpcrypt/Makefile create mode 100755 common/windows/delphi/ext/dcpcrypt/build.sh delete mode 100644 common/windows/delphi/ext/jwa/Makefile create mode 100755 common/windows/delphi/ext/jwa/build.sh create mode 100755 common/windows/delphi/ext/sentry/build.sh delete mode 100644 common/windows/delphi/ext/sentry/test/Makefile create mode 100755 common/windows/delphi/ext/tds2dbg/build.sh delete mode 100644 common/windows/delphi/tools/Makefile create mode 100755 common/windows/delphi/tools/build.sh delete mode 100644 common/windows/delphi/tools/build_standards_data/Makefile create mode 100755 common/windows/delphi/tools/build_standards_data/build.sh delete mode 100644 common/windows/delphi/tools/buildunidata/Makefile create mode 100755 common/windows/delphi/tools/buildunidata/build.sh delete mode 100644 common/windows/delphi/tools/certificates/Makefile create mode 100755 common/windows/delphi/tools/certificates/build.sh delete mode 100644 common/windows/delphi/tools/devtools/Makefile create mode 100755 common/windows/delphi/tools/devtools/build.sh delete mode 100644 common/windows/delphi/tools/sentrytool/Makefile create mode 100755 common/windows/delphi/tools/sentrytool/build.sh delete mode 100644 common/windows/delphi/tools/test-klog/Makefile create mode 100755 common/windows/delphi/tools/test-klog/build.sh delete mode 100644 common/windows/delphi/tools/verify_signatures/Makefile create mode 100755 common/windows/delphi/tools/verify_signatures/build.sh delete mode 100644 developer/src/Defines.mak delete mode 100644 developer/src/Header.mak delete mode 100644 developer/src/Makefile delete mode 100644 developer/src/Target.mak delete mode 100644 developer/src/common/delphi/components/Makefile delete mode 100644 developer/src/ext/Makefile delete mode 100644 developer/src/kmc-model-info/Makefile delete mode 100644 developer/src/kmcmplib/Makefile delete mode 100644 developer/src/samples/Makefile create mode 100755 developer/src/samples/build.sh delete mode 100644 developer/src/samples/imsample/Makefile create mode 100755 developer/src/samples/imsample/build.sh delete mode 100644 developer/src/server/Makefile delete mode 100644 developer/src/setup/Makefile delete mode 100644 developer/src/tike/Makefile diff --git a/common/windows/data/Makefile b/common/windows/data/Makefile deleted file mode 100644 index ff5dff4966..0000000000 --- a/common/windows/data/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -!include ..\delphi\Defines.mak - -BUILDUNIDATA_PATH=$(KEYMAN_ROOT)\common\windows\delphi\tools\buildunidata -BUILDUNIDATA_PROGRAM=$(BUILDUNIDATA_PATH)\$(WIN32_TARGET_PATH)\buildunidata.exe - -DATA_SOURCE=$(KEYMAN_ROOT)\resources\standards-data\unicode-character-database -DATABASE_PATH=$(KEYMAN_ROOT)\common\windows\bin\data -DATABASE_FILENAME=$(DATABASE_PATH)\unicodedata.mdb - -build: buildunidata - -mkdir "$(DATABASE_PATH)" -# cd "$(KEYMAN_ROOT)\common\windows\data" - "$(BUILDUNIDATA_PROGRAM)" "$(DATA_SOURCE)" "$(DATABASE_FILENAME)" - -clean: - -del "$(DATABASE_FILENAME)" - -buildunidata: - cd "$(BUILDUNIDATA_PATH)" - $(MAKE) build diff --git a/common/windows/data/build.sh b/common/windows/data/build.sh new file mode 100755 index 0000000000..950a1356e0 --- /dev/null +++ b/common/windows/data/build.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe \ + "Build shared data" \ + clean configure build test \ + "@../delphi/tools/buildunidata" + +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/bin/data/unicodedata.mdb + +#------------------------------------------------------------------------------------------------------------------- + +BUILDUNIDATA_PATH="$KEYMAN_ROOT/common/windows/delphi/tools/buildunidata" +BUILDUNIDATA_PROGRAM="$BUILDUNIDATA_PATH/$WIN32_TARGET_PATH/buildunidata.exe" +DATA_SOURCE="$KEYMAN_ROOT/resources/standards-data/unicode-character-database" +DATABASE_PATH="$KEYMAN_ROOT/common/windows/bin/data" +DATABASE_FILENAME="$DATABASE_PATH/unicodedata.mdb" + +function do_clean() { + rm -f "$DATABASE_FILENAME" +} + +function do_build() { + mkdir -p "$DATABASE_PATH" + # For now, we need to use cygpath for these parameters due to OLE + # incompatibilities with forward-slash in paths. + "$BUILDUNIDATA_PROGRAM" "$(cygpath -w "$DATA_SOURCE")" "$(cygpath -w "$DATABASE_FILENAME")" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/Makefile b/common/windows/delphi/Makefile deleted file mode 100644 index 2a8258f07b..0000000000 --- a/common/windows/delphi/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -!include Defines.mak - -global-versions: -# Build our root version.txt; TODO: replace with build.sh deps - cd $(KEYMAN_ROOT)\common\windows - $(MKVER_U) $(KEYMAN_ROOT)\common\windows\delphi\general\keymanversion_build.in $(KEYMAN_ROOT)\common\windows\delphi\general\keymanversion_build.inc - $(GIT_BASH_FOR_KEYMAN) $(KEYMAN_ROOT)/common/include/build.sh clean configure build - -!include Target.mak \ No newline at end of file diff --git a/common/windows/delphi/build.sh b/common/windows/delphi/build.sh new file mode 100755 index 0000000000..d248f67197 --- /dev/null +++ b/common/windows/delphi/build.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe \ + "Build Keyman Developer common files" \ + clean configure build test \ + :tools :components :ext :keymanversion + +builder_parse "$@" +builder_run_child_actions clean configure build test + +function do_build() { + "$KEYMAN_ROOT/common/windows/mkver.sh" "$KEYMAN_ROOT/common/windows/delphi/general/keymanversion_build.in" "$KEYMAN_ROOT/common/windows/delphi/general/keymanversion_build.inc" + # $(GIT_BASH_FOR_KEYMAN) $(KEYMAN_ROOT)/common/include/build.sh clean configure build +} + +builder_run_action build:keymanversion do_build diff --git a/common/windows/delphi/components/Makefile b/common/windows/delphi/components/Makefile deleted file mode 100644 index b2590cd517..0000000000 --- a/common/windows/delphi/components/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# -# Common Delphi components Makefile -# - -!include ..\Defines.mak - -# ---------------------------------------------------------------------- - -all: common-components - -build: common-components - -# ---------------------------------------------------------------------- - -common-components: compile install -# $(COPY) keyman_components.bpl $(OUTLIB) - -compile: - @-mkdir obj\Win32\$(TARGET_PATH) - $(COMMON_DCC32DPK) common_components.dpk - -install: - $(DEVTOOLS) -ip $(COMMON_OUTLIB)\common_components.bpl - -signcode: - @rem no signcode - -symbols: - @rem no symbols - -# ---------------------------------------------------------------------- -# clean target -# ---------------------------------------------------------------------- - -clean: def-clean - -rd /s/q obj - -# ---------------------------------------------------------------------- - -!include ..\Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/common/windows/delphi/components/build.sh b/common/windows/delphi/components/build.sh new file mode 100755 index 0000000000..0b8fa1e83c --- /dev/null +++ b/common/windows/delphi/components/build.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build Keyman common Delphi components" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/lib/common_components.bpl + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + mkdir -p obj/Win32/$TARGET_PATH + delphi_msbuild common_components.dproj "//p:Platform=Win32" + "$DEVTOOLS" -ip "$COMMON_OUTLIB/common_components.bpl" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/ext/Makefile b/common/windows/delphi/ext/Makefile deleted file mode 100644 index 236cdb0b64..0000000000 --- a/common/windows/delphi/ext/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# -# Keyman ext Makefile - 3rd party components -# - -NOTARGET_SIGNCODE=yes - -!ifdef NODELPHI -TARGETS=.virtual -!else -TARGETS=cef4delphi dcpcrypt jwa tds2dbg -!endif - -# jedi has no packages - -CLEANS= - -!include ..\Header.mak - -# ---------------------------------------------------------------------- - -cef4delphi: .virtual - cd $(COMMON_ROOT)\ext\cef4delphi - $(MAKE) $(TARGET) - -dcpcrypt: .virtual - cd $(COMMON_ROOT)\ext\dcpcrypt - $(MAKE) $(TARGET) - -jwa: .virtual - cd $(COMMON_ROOT)\ext\jwa - $(MAKE) $(TARGET) - -tds2dbg: .virtual - cd $(COMMON_ROOT)\ext\tds2dbg - $(MAKE) $(TARGET) - -# -# -# - -reset: - $(DEVTOOLS) -rp - $(DEVTOOLS) -ri - -!include ..\Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/common/windows/delphi/ext/build.sh b/common/windows/delphi/ext/build.sh new file mode 100755 index 0000000000..bada986871 --- /dev/null +++ b/common/windows/delphi/ext/build.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe \ + "Build Keyman Developer third party components" \ + clean configure build test reset \ + :cef4delphi :dcpcrypt :jwa :sentry :tds2dbg + +builder_parse "$@" +builder_run_child_actions clean configure build test + +# Note: 'api', 'publish', 'install' actions are defined here for commonality with +# sibling projects but are no-ops + +function do_reset() { + "$DEVTOOLS" -rp + "$DEVTOOLS" -ri +} + +builder_run_action reset do_reset diff --git a/common/windows/delphi/ext/cef4delphi/Makefile b/common/windows/delphi/ext/cef4delphi/Makefile deleted file mode 100644 index 6347ab1353..0000000000 --- a/common/windows/delphi/ext/cef4delphi/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cef4Delphi Makefile (Keyman) -# - -!include ..\..\Defines.mak - -build: - cd packages - @-mkdir obj\Win32\$(TARGET_PATH) - $(DCC32DPK) CEF4Delphi.dpk - cd .. - $(MAKE) install - -install: - $(DEVTOOLS) -ip $(OUTLIB)\CEF4Delphi.bpl - $(DEVTOOLS) -ai $(KEYMAN_ROOT)\common\windows\delphi\ext\cef4delphi\source - -clean: def-clean - $(CLEAN) packages\*.bpl - $(CLEAN) packages\*.dcp - -!include ..\..\Target.mak diff --git a/common/windows/delphi/ext/cef4delphi/build.sh b/common/windows/delphi/ext/cef4delphi/build.sh new file mode 100755 index 0000000000..28c7327236 --- /dev/null +++ b/common/windows/delphi/ext/cef4delphi/build.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build cef4delphi component" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/lib/CEF4Delphi.bpl + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + "$DEVTOOLS" -ai "$THIS_SCRIPT_PATH/source" + delphi_msbuild packages/CEF4Delphi.dproj "//p:Platform=Win32" + "$DEVTOOLS" -ip "$OUTLIB/CEF4Delphi.bpl" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/ext/cef4delphi/packages/CEF4Delphi.dproj b/common/windows/delphi/ext/cef4delphi/packages/CEF4Delphi.dproj index 70b88cdfd4..ed4b75a61f 100644 --- a/common/windows/delphi/ext/cef4delphi/packages/CEF4Delphi.dproj +++ b/common/windows/delphi/ext/cef4delphi/packages/CEF4Delphi.dproj @@ -63,8 +63,10 @@ CEF4Delphi true true - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) + .\obj\$(Platform)\$(Config) + .\bin\$(Platform)\$(Config) + ..\..\..\..\lib + ..\..\..\..\lib false false false diff --git a/common/windows/delphi/ext/dcpcrypt/Makefile b/common/windows/delphi/ext/dcpcrypt/Makefile deleted file mode 100644 index 976528c327..0000000000 --- a/common/windows/delphi/ext/dcpcrypt/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# DcpCrypt Makefile (Tavultesoft) -# - -!include ..\..\Defines.mak - -build: install - -install: - $(DEVTOOLS) -ai $(COMMON_ROOT)\ext\dcpcrypt - -clean: def-clean - $(CLEAN) *.bpl - $(CLEAN) *.dcp - -!include ..\..\Target.mak diff --git a/common/windows/delphi/ext/dcpcrypt/build.sh b/common/windows/delphi/ext/dcpcrypt/build.sh new file mode 100755 index 0000000000..f9f74f302d --- /dev/null +++ b/common/windows/delphi/ext/dcpcrypt/build.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build dcpcrypt component" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + "$DEVTOOLS" -ai "$THIS_SCRIPT_PATH" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/ext/jwa/Makefile b/common/windows/delphi/ext/jwa/Makefile deleted file mode 100644 index 1fa483d215..0000000000 --- a/common/windows/delphi/ext/jwa/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# jedi/jwa Makefile (Keyman project) -# - -!include ..\..\Defines.mak - -build: install-paths -install: install-paths - -install-paths: - $(DEVTOOLS) -ai $(COMMON_ROOT)\ext\jwa\Win32API - -clean: - rem - -!include ..\..\Target.mak diff --git a/common/windows/delphi/ext/jwa/build.sh b/common/windows/delphi/ext/jwa/build.sh new file mode 100755 index 0000000000..857c548977 --- /dev/null +++ b/common/windows/delphi/ext/jwa/build.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build jwa component" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + "$DEVTOOLS" -ai "$THIS_SCRIPT_PATH/Win32API" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/ext/sentry/build.sh b/common/windows/delphi/ext/sentry/build.sh new file mode 100755 index 0000000000..994504ad5e --- /dev/null +++ b/common/windows/delphi/ext/sentry/build.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build sentry component" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh + # build:project /common/windows/lib/CEF4Delphi.bpl + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + "$DEVTOOLS" -ai "$THIS_SCRIPT_PATH/source" + delphi_msbuild packages/CEF4Delphi.dproj "//p:Platform=Win32" + "$DEVTOOLS" -ip "$OUTLIB/CEF4Delphi.bpl" +} + +function do_test() { + # TODO: this does not currently seem to be tested or used + cd test + delphi_msbuild SentryClientTest.dproj "//p:Platform=Win32" + delphi_msbuild SentryClientVclTest.dproj "//p:Platform=Win32" + + sentrytool_delphiprep "$WIN32_TARGET_PATH/SentryClientTest.exe" -dpr SentryClientTest.dpr + sentrytool_delphiprep "$WIN32_TARGET_PATH/SentryClientVclTest.exe" -dpr SentryClientVclTest.dpr + tds2dbg "$WIN32_TARGET_PATH/SentryClientTest.exe" + tds2dbg "$WIN32_TARGET_PATH/SentryClientVclTest.exe" + + sentry-cli upload-dif -p keyman-windows --wait --include-sources . + + cd .. +} + +# builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +# builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/ext/sentry/test/Makefile b/common/windows/delphi/ext/sentry/test/Makefile deleted file mode 100644 index b2e92bb896..0000000000 --- a/common/windows/delphi/ext/sentry/test/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# -# SentryClientTest Makefile -# - -!include ..\..\..\Defines.mak - -build: dirs -# version.res manifest.res - $(DELPHI_MSBUILD) SentryClientTest.dproj "/p:Platform=Win32" - $(DELPHI_MSBUILD) SentryClientVclTest.dproj "/p:Platform=Win32" - - $(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\SentryClientTest.exe -dpr SentryClientTest.dpr - $(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\SentryClientVclTest.exe -dpr SentryClientVclTest.dpr - $(TDS2DBG) $(WIN32_TARGET_PATH)\SentryClientTest.exe - $(TDS2DBG) $(WIN32_TARGET_PATH)\SentryClientVclTest.exe - -upload-symbols: - sentry-cli upload-dif -p keyman-windows --wait --include-sources . - -clean: def-clean - -rd /s/q Win32 - -signcode: - rem no action - -!include ..\..\..\Target.mak diff --git a/common/windows/delphi/ext/tds2dbg/Makefile b/common/windows/delphi/ext/tds2dbg/Makefile index 27f5f22351..e01296837e 100644 --- a/common/windows/delphi/ext/tds2dbg/Makefile +++ b/common/windows/delphi/ext/tds2dbg/Makefile @@ -1,19 +1,6 @@ - -!include ..\..\Defines.mak - -build: - -mkdir $(WIN32_TARGET_PATH) - $(COPY) tds2dbg.bin $(WIN32_TARGET_PATH)\tds2dbg.exe - $(MAKE) install - -install: - -mkdir $(KEYMAN_ROOT)\common\windows\bin\tools - $(COPY) $(WIN32_TARGET_PATH)\tds2dbg.exe $(KEYMAN_ROOT)\common\windows\bin\tools - -# -# The following builds require Borland C++ compiler to be installed and in the path; see Readme.txt for details. -# So, the tds2dbg.bin is kept in the repo in order to make builds simpler -# +info: + echo The following builds require Borland C++ compiler to be installed and in the path; see Readme.txt for details. + echo So, the tds2dbg.bin is kept in the repo in order to make builds simpler BCC55DIR=c:\borland\bcc55 @@ -33,5 +20,3 @@ clean: doc: doxygen tds2dbg.dcf - -!include ..\..\Target.mak diff --git a/common/windows/delphi/ext/tds2dbg/build.sh b/common/windows/delphi/ext/tds2dbg/build.sh new file mode 100755 index 0000000000..5e21d003b5 --- /dev/null +++ b/common/windows/delphi/ext/tds2dbg/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build tds2dbg component" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project "$WIN32_TARGET_PATH/tds2dbg.exe" + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + mkdir -p "$WIN32_TARGET_PATH" + cp tds2dbg.bin "$WIN32_TARGET_PATH/tds2dbg.exe" + + mkdir -p "$KEYMAN_ROOT/common/windows/bin/tools" + cp "$WIN32_TARGET_PATH/tds2dbg.exe" "$KEYMAN_ROOT/common/windows/bin/tools/" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/tools/Makefile b/common/windows/delphi/tools/Makefile deleted file mode 100644 index 2ea11ab237..0000000000 --- a/common/windows/delphi/tools/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# -# Keyman common tools Makefile -# - -NOTARGET_SIGNCODE=yes - -!ifdef NODELPHI -TARGETS=.virtual -!else -TARGETS=build_standards_data buildunidata devtools sentrytool test-klog verify_signatures -!endif - -CLEANS=clean-tools - -!include ..\Header.mak - -# ---------------------------------------------------------------------- - -build_standards_data: .virtual - cd $(COMMON_ROOT)\tools\build_standards_data - $(MAKE) $(TARGET) - -sentrytool: .virtual - cd $(COMMON_ROOT)\tools\sentrytool - $(MAKE) $(TARGET) - -buildunidata: .virtual - cd $(COMMON_ROOT)\tools\buildunidata - $(MAKE) $(TARGET) - -verify_signatures: .virtual - cd $(COMMON_ROOT)\tools\verify_signatures - $(MAKE) $(TARGET) - -devtools: .virtual -!ifdef NODELPHI - echo Skipping devtools -!else - cd $(COMMON_ROOT)\tools\devtools - $(MAKE) $(TARGET) -!endif - -test-klog: .virtual - cd $(COMMON_ROOT)\tools\test-klog - $(MAKE) $(TARGET) - -# ---------------------------------------------------------------------- - -clean-tools: - cd $(COMMON_ROOT)\tools - -del version.txt - -!include ..\Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/common/windows/delphi/tools/build.sh b/common/windows/delphi/tools/build.sh new file mode 100755 index 0000000000..7d0e2a0626 --- /dev/null +++ b/common/windows/delphi/tools/build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe \ + "Build Keyman Developer common tools" \ + clean configure build test \ + :build_standards_data :buildunidata :devtools :sentrytool :test-klog :verify_signatures + +builder_parse "$@" +builder_run_child_actions clean configure build test diff --git a/common/windows/delphi/tools/build_standards_data/Makefile b/common/windows/delphi/tools/build_standards_data/Makefile deleted file mode 100644 index 14e0632777..0000000000 --- a/common/windows/delphi/tools/build_standards_data/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# -# Build all generated source code for standards data -# - -!include ..\..\Defines.mak - -test: build - -STANDARDS_DATA_PATH=$(KEYMAN_ROOT)\resources\standards-data -STANDARDS_OUT_PATH=$(KEYMAN_ROOT)\common\windows\delphi\standards - -ISO6393_DATA=$(STANDARDS_DATA_PATH)\iso639-3\iso639-3.tab -ISO6393_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.ISO6393ToBCP47Registry.pas - -SUBTAG_DATA=$(STANDARDS_DATA_PATH)\language-subtag-registry\language-subtag-registry -SUBTAG_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.BCP47SubtagRegistry.pas - -SUPPRESS_DATA=$(STANDARDS_DATA_PATH)\language-subtag-registry\language-subtag-registry -SUPPRESS_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.BCP47SuppressScriptRegistry.pas - -LCID_DATA=$(STANDARDS_DATA_PATH)\windows-lcid-to-bcp-47\map_clean_win.txt -LCID_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.LCIDToBCP47Registry.pas - -LANGTAGS_DATA=$(STANDARDS_DATA_PATH)\langtags\langtags.json -LANGTAGS_PAS=$(STANDARDS_OUT_PATH)\Keyman.System.Standards.LangTagsRegistry.pas - -build: - $(DELPHI_MSBUILD) build_standards_data.dproj - $(WIN32_TARGET_PATH)\build_standards_data.exe iso6393 $(ISO6393_DATA) $(ISO6393_PAS) - $(WIN32_TARGET_PATH)\build_standards_data.exe suppress $(SUPPRESS_DATA) $(SUPPRESS_PAS) - $(WIN32_TARGET_PATH)\build_standards_data.exe subtag $(SUBTAG_DATA) $(SUBTAG_PAS) - $(WIN32_TARGET_PATH)\build_standards_data.exe lcid $(LCID_DATA) $(LCID_PAS) - $(WIN32_TARGET_PATH)\build_standards_data.exe langtags $(LANGTAGS_DATA) $(LANGTAGS_PAS) - -clean: def-clean -# -rd /s/q Win32 - -!include ..\..\Target.mak diff --git a/common/windows/delphi/tools/build_standards_data/build.sh b/common/windows/delphi/tools/build_standards_data/build.sh new file mode 100755 index 0000000000..e4831b85c9 --- /dev/null +++ b/common/windows/delphi/tools/build_standards_data/build.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build build_standards_data tool" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/delphi/standards/Keyman.System.Standards.LangTagsRegistry.pas + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +STANDARDS_DATA_PATH="$KEYMAN_ROOT/resources/standards-data" +STANDARDS_OUT_PATH="$KEYMAN_ROOT/common/windows/delphi/standards" + +ISO6393_DATA="$STANDARDS_DATA_PATH/iso639-3/iso639-3.tab" +ISO6393_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.ISO6393ToBCP47Registry.pas" + +SUBTAG_DATA="$STANDARDS_DATA_PATH/language-subtag-registry/language-subtag-registry" +SUBTAG_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.BCP47SubtagRegistry.pas" + +SUPPRESS_DATA="$STANDARDS_DATA_PATH/language-subtag-registry/language-subtag-registry" +SUPPRESS_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.BCP47SuppressScriptRegistry.pas" + +LCID_DATA="$STANDARDS_DATA_PATH/windows-lcid-to-bcp-47/map_clean_win.txt" +LCID_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.LCIDToBCP47Registry.pas" + +LANGTAGS_DATA="$STANDARDS_DATA_PATH/langtags/langtags.json" +LANGTAGS_PAS="$STANDARDS_OUT_PATH/Keyman.System.Standards.LangTagsRegistry.pas" + +function do_build() { + delphi_msbuild build_standards_data.dproj "//p:Platform=Win32" + "$WIN32_TARGET_PATH/build_standards_data.exe" iso6393 "$ISO6393_DATA" "$ISO6393_PAS" + "$WIN32_TARGET_PATH/build_standards_data.exe" suppress "$SUPPRESS_DATA" "$SUPPRESS_PAS" + "$WIN32_TARGET_PATH/build_standards_data.exe" subtag "$SUBTAG_DATA" "$SUBTAG_PAS" + "$WIN32_TARGET_PATH/build_standards_data.exe" lcid "$LCID_DATA" "$LCID_PAS" + "$WIN32_TARGET_PATH/build_standards_data.exe" langtags "$LANGTAGS_DATA" "$LANGTAGS_PAS" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/tools/buildunidata/Makefile b/common/windows/delphi/tools/buildunidata/Makefile deleted file mode 100644 index 0e754c11be..0000000000 --- a/common/windows/delphi/tools/buildunidata/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# buildunidata Makefile -# - -!include ..\..\Defines.mak - -build: - $(DELPHI_MSBUILD) buildunidata.dproj "/p:Platform=Win32" - -run: - -mkdir $(KEYMAN_ROOT)\common\windows\bin\data - $(WIN32_TARGET_PATH)\buildunidata.exe $(KEYMAN_ROOT)\common\windows\data $(KEYMAN_ROOT)\common\windows\bin\data\unicodedata.mdb - -clean: def-clean - -!include ..\..\Target.mak diff --git a/common/windows/delphi/tools/buildunidata/build.sh b/common/windows/delphi/tools/buildunidata/build.sh new file mode 100755 index 0000000000..fa96a82192 --- /dev/null +++ b/common/windows/delphi/tools/buildunidata/build.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build buildunidata tool" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/delphi/tools/buildunidata/$WIN32_TARGET_PATH/buildunidata.exe + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + delphi_msbuild buildunidata.dproj "//p:Platform=Win32" + # "$WIN32_TARGET_PATH/buildunidata.exe" "$KEYMAN_ROOT/common/windows/data" "$KEYMAN_ROOT/common/windows/bin/data/unicodedata.mdb" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/tools/certificates/Makefile b/common/windows/delphi/tools/certificates/Makefile deleted file mode 100644 index 26155b0e4e..0000000000 --- a/common/windows/delphi/tools/certificates/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -!include ..\..\Defines.mak - -default: - @echo The following make targets are available: - @echo . test-certificate create a test certificate + CA (and install test CA) - -test-certificate: - cd $(COMMON_ROOT)\tools\certificates - -del KeymanTestCA-sha1.* - -del KeymanTest-sha1.* - -del KeymanTest-sha256.* - -del KeymanTestCA-sha256.* - - makecert -r -pe -n "CN=Keyman Test CA SHA1" -ss CA -sr CurrentUser -a sha1 -cy authority -sky signature -sv KeymanTestCA-sha1.pvk KeymanTestCA-sha1.cer - certutil -user -addstore Root KeymanTestCA-sha1.cer - makecert -pe -n "CN=Keyman Test Certificate SHA1" -a sha1 -cy end -sky signature -ic KeymanTestCA-sha1.cer -iv KeymanTestCA-sha1.pvk -sv KeymanTest-sha1.pvk KeymanTest-sha1.cer - pvk2pfx -pvk KeymanTest-sha1.pvk -spc KeymanTest-sha1.cer -pfx KeymanTest-sha1.pfx - - makecert -r -pe -n "CN=Keyman Test CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv KeymanTestCA-sha256.pvk KeymanTestCA-sha256.cer - certutil -user -addstore Root KeymanTestCA-sha256.cer - makecert -pe -n "CN=Keyman Test Certificate" -a sha256 -cy end -sky signature -ic KeymanTestCA-sha256.cer -iv KeymanTestCA-sha256.pvk -sv KeymanTest-sha256.pvk KeymanTest-sha256.cer - pvk2pfx -pvk KeymanTest-sha256.pvk -spc KeymanTest-sha256.cer -pfx KeymanTest-sha256.pfx diff --git a/common/windows/delphi/tools/certificates/build.sh b/common/windows/delphi/tools/certificates/build.sh new file mode 100755 index 0000000000..2cd3871cbd --- /dev/null +++ b/common/windows/delphi/tools/certificates/build.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build and install test certificates" clean configure build test \ + "certificates Create test certificates and install root certificates" +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh + +#------------------------------------------------------------------------------------------------------------------- + +function do_certificates() { + rm -f KeymanTestCA-sha1.* KeymanTest-sha1.* KeymanTest-sha256.* KeymanTestCA-sha256.* + + makecert -r -pe -n "CN=Keyman Test CA SHA1" -ss CA -sr CurrentUser -a sha1 -cy authority -sky signature -sv KeymanTestCA-sha1.pvk KeymanTestCA-sha1.cer + certutil -user -addstore Root KeymanTestCA-sha1.cer + makecert -pe -n "CN=Keyman Test Certificate SHA1" -a sha1 -cy end -sky signature -ic KeymanTestCA-sha1.cer -iv KeymanTestCA-sha1.pvk -sv KeymanTest-sha1.pvk KeymanTest-sha1.cer + pvk2pfx -pvk KeymanTest-sha1.pvk -spc KeymanTest-sha1.cer -pfx KeymanTest-sha1.pfx + + makecert -r -pe -n "CN=Keyman Test CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv KeymanTestCA-sha256.pvk KeymanTestCA-sha256.cer + certutil -user -addstore Root KeymanTestCA-sha256.cer + makecert -pe -n "CN=Keyman Test Certificate" -a sha256 -cy end -sky signature -ic KeymanTestCA-sha256.cer -iv KeymanTestCA-sha256.pvk -sv KeymanTest-sha256.pvk KeymanTest-sha256.cer + pvk2pfx -pvk KeymanTest-sha256.pvk -spc KeymanTest-sha256.cer -pfx KeymanTest-sha256.pfx +} + +#builder_run_action clean:project do_clean +#builder_run_action configure:project configure_windows_build_environment +#builder_run_action build:project do_build +builder_run_action certificates:project do_certificates +# builder_run_action test:project do_test diff --git a/common/windows/delphi/tools/devtools/Makefile b/common/windows/delphi/tools/devtools/Makefile deleted file mode 100644 index 9a8856f559..0000000000 --- a/common/windows/delphi/tools/devtools/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -# -# Devtools Makefile -# - -# -# Devtools is used to create PathDefines.mak, so -# it may not be present when we build. So as we -# don't need it for the build, let's go ahead and -# delete it (Devtools has all dependencies -# referenced explictly to avoid chicken-and-egg -# here). -# -EXCLUDEPATHDEFINES=1 - -!include ..\..\Defines.mak - -build: - $(DELPHI_MSBUILD) devtools.dproj - -test-releasebuildcheck: build - $(DEVTOOLS) -rt - -clean: def-clean - -!include ..\..\Target.mak diff --git a/common/windows/delphi/tools/devtools/build.sh b/common/windows/delphi/tools/devtools/build.sh new file mode 100755 index 0000000000..fd4ced99b9 --- /dev/null +++ b/common/windows/delphi/tools/devtools/build.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build devtools tool" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/delphi/tools/devtools/$WIN32_TARGET_PATH/devtools.exe + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + delphi_msbuild devtools.dproj "//p:Platform=Win32" + # "$WIN32_TARGET_PATH/buildunidata.exe" "$KEYMAN_ROOT/common/windows/data" "$KEYMAN_ROOT/common/windows/bin/data/unicodedata.mdb" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test + +# TODO +#: test-releasebuildcheck: build +# $(DEVTOOLS) -rt diff --git a/common/windows/delphi/tools/sentrytool/Makefile b/common/windows/delphi/tools/sentrytool/Makefile deleted file mode 100644 index 30326362d0..0000000000 --- a/common/windows/delphi/tools/sentrytool/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# -# Sentrytool Makefile -# - -!include ..\..\Defines.mak - -build: - $(DELPHI_MSBUILD) sentrytool.dproj "/p:Platform=Win32" - -clean: def-clean - -!include ..\..\Target.mak diff --git a/common/windows/delphi/tools/sentrytool/build.sh b/common/windows/delphi/tools/sentrytool/build.sh new file mode 100755 index 0000000000..c3c5af9407 --- /dev/null +++ b/common/windows/delphi/tools/sentrytool/build.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build sentrytool tool" clean configure build test +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/delphi/tools/sentrytool/$WIN32_TARGET_PATH/sentrytool.exe + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + delphi_msbuild sentrytool.dproj "//p:Platform=Win32" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/common/windows/delphi/tools/test-klog/Makefile b/common/windows/delphi/tools/test-klog/Makefile deleted file mode 100644 index d8a27cbf68..0000000000 --- a/common/windows/delphi/tools/test-klog/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# Verify klog is disabled -# - -!include ..\..\Defines.mak - -verify: clean - $(DELPHI_MSBUILD) test_klog.dproj "/p:Platform=Win32" - $(WIN32_TARGET_PATH)\test_klog - -build: - rem no build for test_certcheck - -clean: def-clean - -!include ..\..\Target.mak diff --git a/common/windows/delphi/tools/test-klog/build.sh b/common/windows/delphi/tools/test-klog/build.sh new file mode 100755 index 0000000000..7c9f801a15 --- /dev/null +++ b/common/windows/delphi/tools/test-klog/build.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build test-klog tool" clean configure build test verify +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/delphi/tools/sentrytool/$WIN32_TARGET_PATH/sentrytool.exe + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_verify() { + # verify that the klog module is disabled for release builds + do_clean + delphi_msbuild test_klog.dproj "//p:Platform=Win32" + "$WIN32_TARGET_PATH/test_klog.exe" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +# builder_run_action build:project do_build +# builder_run_action test:project do_test + +# Kept separate from test as this is not so much a unit test as an environment +# safety check +builder_run_action verify:project do_verify diff --git a/common/windows/delphi/tools/verify_signatures/Makefile b/common/windows/delphi/tools/verify_signatures/Makefile deleted file mode 100644 index 0f67747665..0000000000 --- a/common/windows/delphi/tools/verify_signatures/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# -# test for signatures and version information being correct in ?install directory or ?bin directory -# - -!include ..\..\Defines.mak - -build: - $(DELPHI_MSBUILD) verify_signatures.dproj - copy sigcheck.bin $(WIN32_TARGET_PATH)\sigcheck.exe - -clean: def-clean - -!include ..\..\Target.mak diff --git a/common/windows/delphi/tools/verify_signatures/build.sh b/common/windows/delphi/tools/verify_signatures/build.sh new file mode 100755 index 0000000000..05aa948df7 --- /dev/null +++ b/common/windows/delphi/tools/verify_signatures/build.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build verify_signatures tool" clean configure build test verify +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /common/windows/delphi/tools/verify_signatures/$WIN32_TARGET_PATH/verify_signatures.exe + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + rm -rf obj manifest.res manifest.xml *.dproj.local version.res icons.RES icons.res *.identcache +} + +function do_build() { + delphi_msbuild verify_signatures.dproj "//p:Platform=Win32" + cp sigcheck.bin "$WIN32_TARGET_PATH/sigcheck.exe" +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test diff --git a/developer/src/Defines.mak b/developer/src/Defines.mak deleted file mode 100644 index 5ac74ce1b8..0000000000 --- a/developer/src/Defines.mak +++ /dev/null @@ -1,22 +0,0 @@ -!IFNDEF KEYMAN_ROOT -!error KEYMAN_ROOT must be defined -!ENDIF - -WINDOWS_ROOT=$(KEYMAN_ROOT)\windows -WINDOWS_PROGRAM=$(WINDOWS_ROOT)\bin - -COMMON_ROOT=$(KEYMAN_ROOT)\common\windows\delphi - -DEVELOPER_ROOT=$(KEYMAN_ROOT)\developer -DEVELOPER_PROGRAM=$(DEVELOPER_ROOT)\bin -DEVELOPER_OUTLIB=$(DEVELOPER_ROOT)\lib -DEVELOPER_DEBUGPATH=$(DEVELOPER_ROOT)\debug - -DEVELOPER_DELPHIDPKPARAMS=-Q -B -GD -VT -^$C+ -^$D+ -^$J+ -^$L+ -^$O+ -^$Q- -^$R- -^$W+ -^$Y+ -E. $(DELPHIWARNINGS) -I$(DELPHIINCLUDES) -U$(DELPHIINCLUDES) -R$(DELPHIINCLUDES) -NSVcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Web;Soap;Winapi;System.Win -LE$(DEVELOPER_OUTLIB) -LN$(DEVELOPER_OUTLIB) -NSData -NUobj\Win32\$(TARGET_PATH) -DEVELOPER_DCC32DPK=cmd /c "$(DCC32PATH)\dcc32.exe" $(DEVELOPER_DELPHIDPKPARAMS) - -# Temporary import of windows/src/Defines.mak -# TODO: include COMMON_ROOT's defines.mak instead -!include $(WINDOWS_ROOT)\src\Defines.mak - -KEYMANCORE=keymancore-2 diff --git a/developer/src/Header.mak b/developer/src/Header.mak deleted file mode 100644 index 5d142d1941..0000000000 --- a/developer/src/Header.mak +++ /dev/null @@ -1,14 +0,0 @@ -!IFNDEF KEYMAN_ROOT -!error KEYMAN_ROOT must be defined -!ENDIF - -WINDOWS_ROOT=$(KEYMAN_ROOT)\windows -WINDOWS_PROGRAM=$(WINDOWS_ROOT)\bin - -DEVELOPER_ROOT=$(KEYMAN_ROOT)\developer -DEVELOPER_PROGRAM=$(DEVELOPER_ROOT)\bin -DEVELOPER_OUTLIB=$(DEVELOPER_ROOT)\lib -DEVELOPER_DEBUGPATH=$(DEVELOPER_ROOT)\debug - -# Temporary import of windows/src/Header.mak -!include $(WINDOWS_ROOT)\src\Header.mak diff --git a/developer/src/Makefile b/developer/src/Makefile deleted file mode 100644 index d7ee0e1199..0000000000 --- a/developer/src/Makefile +++ /dev/null @@ -1,293 +0,0 @@ -# -# Keyman dev Makefile -# - -!ifdef NODELPHI -DELPHI_TARGETS= -!else -# note: inst is not really a delphi target but depends on delphi -DELPHI_TARGETS=kmconvert tike setup inst -!endif - -TARGETS=build-tools kmcmplib kmanalyze $(DELPHI_TARGETS) kmdecomp samples server kmc api - -EXCLUDEPATHDEFINES=1 -MANIFESTS=tike setup -CLEANS=clean-developer - -EXCLUDEPATHDEFINES=1 -BUILDPREREQ=global-versions - -!include Header.mak - -# ---------------------------------------------------------------------- - -common: .virtual - cd $(KEYMAN_ROOT)\common\windows\delphi\components - $(MAKE) $(TARGET) - cd $(DEVELOPER_ROOT)\src\common\delphi\components - $(MAKE) $(TARGET) - -imsample: .virtual - cd $(DEVELOPER_ROOT)\src\imsample - $(MAKE) $(TARGET) - -kmcmplib: global-versions .virtual - cd $(DEVELOPER_ROOT)\src\kmcmplib - $(MAKE) $(TARGET) - -kmdecomp: .virtual - cd $(DEVELOPER_ROOT)\src\kmdecomp - $(MAKE) $(TARGET) - -kmanalyze: .virtual - cd $(DEVELOPER_ROOT)\src\kmanalyze - $(MAKE) $(TARGET) - -kmconvert: .virtual - cd $(DEVELOPER_ROOT)\src\kmconvert - $(MAKE) $(TARGET) - -tike: redist - cd $(DEVELOPER_ROOT)\src\tike - $(MAKE) $(TARGET) - -samples: .virtual - cd $(DEVELOPER_ROOT)\src\samples - $(MAKE) $(TARGET) - -setup: .virtual - cd $(DEVELOPER_ROOT)\src\setup - $(MAKE) $(TARGET) - -server: .virtual - cd $(DEVELOPER_ROOT)\src\server - $(MAKE) $(TARGET) - -kmc: kmc-analyze kmc-ldml kmc-keyboard-info kmc-kmn kmc-model kmc-model-info kmc-package - cd $(DEVELOPER_ROOT)\src\kmc - $(MAKE) $(TARGET) - -kmc-analyze: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-analyze - $(MAKE) $(TARGET) - -kmc-keyboard-info: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-keyboard-info - $(MAKE) $(TARGET) - -kmc-kmn: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-kmn - $(MAKE) $(TARGET) - -kmc-ldml: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-ldml - $(MAKE) $(TARGET) - -kmc-model: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-model - $(MAKE) $(TARGET) - -kmc-model-info: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-model-info - $(MAKE) $(TARGET) - -kmc-package: .virtual - cd $(DEVELOPER_ROOT)\src\kmc-package - $(MAKE) $(TARGET) - -api: .virtual - cd $(DEVELOPER_ROOT) - if $(TARGET) == build $(GIT_BASH_FOR_KEYMAN) build.sh api --no-deps - -# ---------------------------------------------------------------------- - -ext: .virtual - cd $(DEVELOPER_ROOT)\src\ext - $(MAKE) $(TARGET) - -# ---------------------------------------------------------------------- - -test: .virtual - cd $(DEVELOPER_ROOT)\src\test\auto - $(MAKE) $(TARGET) - cd $(DEVELOPER_ROOT)\src - -# ---------------------------------------------------------------------- - -redist: - copy $(KEYMAN_ROOT)\common\windows\delphi\ext\sentry\sentry.dll $(DEVELOPER_ROOT)\bin - copy $(KEYMAN_ROOT)\common\windows\delphi\ext\sentry\sentry.x64.dll $(DEVELOPER_ROOT)\bin - copy $(KEYMAN_ROOT)\common\windows\delphi\ext\sentry\crashpad_handler.exe $(DEVELOPER_ROOT)\bin - -# ---------------------------------------------------------------------- - -inst: redist - cd $(DEVELOPER_ROOT)\src\inst - $(MAKE) $(TARGET) - -# ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# release -# ---------------------------------------------------------------------- - -release: clean-pathdefines test-release-cef-path test-releasebuildcheck test-releaseexists test-cert test-7zip test-wix test-klog clean clean-output - cd $(DEVELOPER_ROOT)\src - echo Continuing Release - $(MAKE) do-build-release - echo After build-release - cd $(DEVELOPER_ROOT)\src - -# Build a release - -do-build-release: - echo Starting Release Build - cd $(COMMON_ROOT) - $(MAKE) global-versions - cd $(DEVELOPER_ROOT)\src - $(MAKE) dirs - cd $(WINDOWS_ROOT)\src - $(MAKE) build-tools - cd $(DEVELOPER_ROOT)\src - $(MAKE) build-release-dependencies - $(MAKE) "SIGNCODE_BUILD=SIGNCODE_BUILD" build test - $(MAKE) signcode - cd $(DEVELOPER_ROOT)\src\tools\verify_signatures - $(MAKE) test - - cd $(DEVELOPER_ROOT)\src\inst - $(MAKE) - cd $(DEVELOPER_ROOT)\src - -# -# Dependencies on Windows are now only ext,global,buildtools and kmbrowserhost -# -build-release-dependencies: - cd $(WINDOWS_ROOT)\src\ext - $(MAKE) build - - cd $(WINDOWS_ROOT)\src\global - $(MAKE) build - - cd $(WINDOWS_ROOT)\src\buildtools - $(MAKE) build - -# TODO: kmbrowserhost should be in global - cd $(WINDOWS_ROOT)\src\desktop\kmbrowserhost - $(MAKE) build signcode - - cd $(DEVELOPER_ROOT)\src - - -clean-output: - rd /s/q $(DEVELOPER_ROOT)\bin - rd /s/q $(DEVELOPER_ROOT)\debug - rd /s/q $(DEVELOPER_ROOT)\build - rd /s/q $(DEVELOPER_ROOT)\lib - -clean-pathdefines: test-releasebuildcheck -# test-releasebuildcheck builds devtools for us - $(DEVTOOLS) -ri - -# -# Test that the CEF file path is accessible from env var KEYMAN_CEF4DELPHI_ROOT -# and checkout the appropriate version of CEF as determined by CEF_VERSION.md -# -test-release-cef-path: -!ifndef SC_TIMESTAMP -!ifdef GIT_BASH_FOR_KEYMAN - $(GIT_BASH_FOR_KEYMAN) $(KEYMAN_ROOT)\common\windows\cef-checkout.sh -!else - start /wait $(KEYMAN_ROOT)\common\windows\cef-checkout.sh -!endif -!endif - -# -# Test that certificate checking is enabled and that certificate is accessible -# - -test-cert: - copy $(SC_PFX_SHA1) $(WINDOWS_ROOT)\src\pfx.tmp - del $(WINDOWS_ROOT)\src\pfx.tmp - -# -# Test that WiX is installed -# - -test-wix: - if not exist $(WIXPATH)\candle.exe exit 1 - -# -# Test that 7-zip is installed -# - -test-7zip: - if not exist $(WZZIPPATH) exit 1 - -# -# Test that klog is disabled -# - -test-klog: - cd $(COMMON_ROOT)\tools\test-klog - $(MAKE) verify - cd $(DEVELOPER_ROOT)\src - -# -# Test that we haven't already built this release -# - -test-releaseexists: - cd $(DEVELOPER_ROOT)\src\inst - $(MAKE) test-releaseexists - cd $(DEVELOPER_ROOT)\src - -# -# Test various release prerequisites, e.g. Debug reg key not set -# - -test-releasebuildcheck: global-versions - cd $(COMMON_ROOT)\tools\devtools - $(MAKE) test-releasebuildcheck - cd $(DEVELOPER_ROOT)\src - -# -# Tools needed to complete a build -# - -build-tools: - $(MAKE) global-versions - $(MAKE) common -!ifdef NODELPHI - echo Skipping build-tools -!else - $(MAKE) build-tools-internal -!endif - -global-versions: - cd $(COMMON_ROOT) - @if not exist $(KEYMAN_ROOT)\include\keymanversion_build.h $(MAKE) global-versions - cd $(DEVELOPER_ROOT)\src - -build-tools-internal: -# We'll build a default PathDefines.mak if it is missing here so we can -# go on and do the rest of the build. Build all the ext/global/build-tools -# things we need... - $(MAKE) devtools-app - $(DEVTOOLS) -ti - cd $(WINDOWS_ROOT)\src - $(MAKE) ext global buildtools - cd $(DEVELOPER_ROOT)\src - $(MAKE) ext - -# ---------------------------------------------------------------------- - -clean-developer: - cd $(DEVELOPER_ROOT)\src - -del version.txt - -!include Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/developer/src/Target.mak b/developer/src/Target.mak deleted file mode 100644 index 8c0ad1cd53..0000000000 --- a/developer/src/Target.mak +++ /dev/null @@ -1,2 +0,0 @@ -# Temporary import of windows/src/Target.mak -!include $(WINDOWS_ROOT)\src\Target.mak diff --git a/developer/src/build.sh b/developer/src/build.sh index 4adca7e09c..87e83e89a8 100755 --- a/developer/src/build.sh +++ b/developer/src/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe \ "Build Keyman Developer" \ clean \ diff --git a/developer/src/common/build.sh b/developer/src/common/build.sh index 50a8584008..68897c5c4b 100755 --- a/developer/src/common/build.sh +++ b/developer/src/common/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe \ "Build Keyman Developer common files" \ clean configure build api test publish install \ diff --git a/developer/src/common/delphi/build.sh b/developer/src/common/delphi/build.sh index 1523413825..777ae18113 100755 --- a/developer/src/common/delphi/build.sh +++ b/developer/src/common/delphi/build.sh @@ -5,15 +5,12 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build Keyman Developer Delphi components" clean configure build test builder_parse "$@" #------------------------------------------------------------------------------------------------------------------- source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" -WIN32_TARGET="$WIN32_TARGET_PATH/kmconvert.exe" builder_describe_outputs \ configure:project /resources/build/win/delphi_environment_generated.inc.sh \ diff --git a/developer/src/common/delphi/components/Makefile b/developer/src/common/delphi/components/Makefile deleted file mode 100644 index c32f6d8a9a..0000000000 --- a/developer/src/common/delphi/components/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# -# Keyman Developer Delphi components Makefile -# - -!include ..\..\..\Defines.mak - -# ---------------------------------------------------------------------- - -all: keyman-developer-components - -build: keyman-developer-components - -# ---------------------------------------------------------------------- - -keyman-developer-components: dirs compile install -# $(COPY) keyman_components.bpl $(OUTLIB) - -compile: - @-mkdir obj\Win32\$(TARGET_PATH) - $(DEVELOPER_DCC32DPK) developer_components.dpk - -install: - $(DEVTOOLS) -ip $(DEVELOPER_OUTLIB)\developer_components.bpl - -signcode: - @rem no signcode - -symbols: - @rem no symbols - -# ---------------------------------------------------------------------- -# clean target -# ---------------------------------------------------------------------- - -clean: def-clean - -rd /s/q obj - -# ---------------------------------------------------------------------- - -!include ..\..\..\Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/developer/src/common/web/build.sh b/developer/src/common/web/build.sh index a9d22e8efc..d9a0aaf4fc 100755 --- a/developer/src/common/web/build.sh +++ b/developer/src/common/web/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe \ "Build Keyman Developer common web files" \ clean configure build test \ diff --git a/developer/src/ext/Makefile b/developer/src/ext/Makefile deleted file mode 100644 index 292430f978..0000000000 --- a/developer/src/ext/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -# -# Keyman Developer ext Makefile - 3rd party components -# - -NOTARGET_SIGNCODE=yes - -!ifdef NODELPHI -TARGETS=.virtual -!else -TARGETS=browse4folder jedi mbcolor scfontcombobox common -!endif - -CLEANS= - -!include ..\Header.mak - -# ---------------------------------------------------------------------- - -browse4folder: .virtual - cd $(DEVELOPER_ROOT)\src\ext\browse4folder - $(MAKE) $(TARGET) - -jedi: .virtual - cd $(DEVELOPER_ROOT)\src\ext\jedi - $(MAKE) $(TARGET) - -mbcolor: .virtual - cd $(DEVELOPER_ROOT)\src\ext\mbcolor - $(MAKE) $(TARGET) - -scfontcombobox: .virtual - cd $(DEVELOPER_ROOT)\src\ext\scfontcombobox - $(MAKE) $(TARGET) - -# ---------------------------------------------------------------------- - -common: .virtual - cd $(COMMON_ROOT)\ext - $(MAKE) $(TARGET) - -# -# -# - -reset: - $(DEVTOOLS) -rp - $(DEVTOOLS) -ri - -!include ..\Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/developer/src/ext/browse4folder/build.sh b/developer/src/ext/browse4folder/build.sh index a0d1d91052..d7b40d5b16 100755 --- a/developer/src/ext/browse4folder/build.sh +++ b/developer/src/ext/browse4folder/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build browser4folder component" clean configure build test builder_parse "$@" diff --git a/developer/src/ext/build.sh b/developer/src/ext/build.sh index 4243ce15cb..84693b237e 100755 --- a/developer/src/ext/build.sh +++ b/developer/src/ext/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe \ "Build Keyman Developer third party components" \ clean configure build api test publish install \ diff --git a/developer/src/ext/mbcolor/build.sh b/developer/src/ext/mbcolor/build.sh index a42ee1bef9..b9120b00d3 100755 --- a/developer/src/ext/mbcolor/build.sh +++ b/developer/src/ext/mbcolor/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build mbcolor component" clean configure build test builder_parse "$@" diff --git a/developer/src/ext/scfontcombobox/build.sh b/developer/src/ext/scfontcombobox/build.sh index dc67d71d7f..1b6e44f9f9 100755 --- a/developer/src/ext/scfontcombobox/build.sh +++ b/developer/src/ext/scfontcombobox/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build scfontcombobox component" clean configure build test builder_parse "$@" diff --git a/developer/src/kmanalyze/build.sh b/developer/src/kmanalyze/build.sh index 09e6e704c5..650fa726f2 100755 --- a/developer/src/kmanalyze/build.sh +++ b/developer/src/kmanalyze/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build kmanalyze" clean configure build test publish install builder_parse "$@" diff --git a/developer/src/kmc-model-info/Makefile b/developer/src/kmc-model-info/Makefile deleted file mode 100644 index 878d77f184..0000000000 --- a/developer/src/kmc-model-info/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# -# Keyman Developer - kmc Model-Info Compiler Makefile -# - -!include ..\Defines.mak - -# We don't depend on configure here because kmc-ldml does that already -build: .virtual - $(GIT_BASH_FOR_KEYMAN) build.sh build - -configure: .virtual - $(GIT_BASH_FOR_KEYMAN) build.sh configure - -clean: .virtual - $(GIT_BASH_FOR_KEYMAN) build.sh clean - -test: .virtual - $(GIT_BASH_FOR_KEYMAN) build.sh test - -# build.sh bundle must be run from shell as it requires a temp folder to be -# passed in. See inst/download.in.mak for instantiation. - -publish: .virtual - $(GIT_BASH_FOR_KEYMAN) build.sh publish - -signcode: - @rem nothing to do - -wrap-symbols: - @rem nothing to do - -test-manifest: - @rem nothing to do - -install: - @rem nothing to do - -!include ..\Target.mak diff --git a/developer/src/kmcmplib/Makefile b/developer/src/kmcmplib/Makefile deleted file mode 100644 index 26aed7fdc2..0000000000 --- a/developer/src/kmcmplib/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# -# KMCmpLib Makefile -# - -!include ..\Defines.mak - -!ifdef GIT_BASH_FOR_KEYMAN -CALLER=$(GIT_BASH_FOR_KEYMAN) -!else -CALLER=start /wait -!endif -!ifdef DEBUG -BUILD_DEBUG=-d -!else -BUILD_DEBUG= -!endif - -build: .virtual - $(CALLER) ./build.sh clean configure build $(BUILD_DEBUG) - -clean: - $(CALLER) ./build.sh clean $(BUILD_DEBUG) - -signcode: - @rem Not required - -wrap-symbols: - @rem Not required - -test-manifest: - @rem This target needed as dependency for TIKE - -test: - $(CALLER) ./build.sh test $(BUILD_DEBUG) - -install: - @rem Not required - -!include ..\Target.mak diff --git a/developer/src/kmconvert/build.sh b/developer/src/kmconvert/build.sh index 0b690b5be4..b71812b95a 100755 --- a/developer/src/kmconvert/build.sh +++ b/developer/src/kmconvert/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build kmconvert" clean configure build test publish install builder_parse "$@" diff --git a/developer/src/kmdecomp/build.sh b/developer/src/kmdecomp/build.sh index e9743e3e97..adbf77e3ab 100755 --- a/developer/src/kmdecomp/build.sh +++ b/developer/src/kmdecomp/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build kmdecomp" clean configure build test publish install builder_parse "$@" diff --git a/developer/src/samples/Makefile b/developer/src/samples/Makefile deleted file mode 100644 index 0f89fff987..0000000000 --- a/developer/src/samples/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# Samples Makefile -# - -TARGETS=imsample -!include ..\Header.mak - -imsample: .virtual - cd $(DEVELOPER_ROOT)\src\samples\imsample - $(MAKE) $(TARGET) - -!include ..\Target.mak - -# ---------------------------------------------------------------------- -# EOF -# ---------------------------------------------------------------------- diff --git a/developer/src/samples/build.sh b/developer/src/samples/build.sh new file mode 100755 index 0000000000..70f8097b78 --- /dev/null +++ b/developer/src/samples/build.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe \ + "Build Keyman Developer Samples" \ + clean \ + configure \ + build \ + "api Analyze API and prepare API documentation" \ + test \ + "publish Prepare files for distribution and publish symbols" \ + "install Install built programs locally" \ + :imsample + +builder_parse "$@" + +# builder_describe_outputs \ +# configure /developer/src/tike/xml/layoutbuilder/keymanweb-osk.ttf +# builder_run_action configure cp "$KEYMAN_ROOT/common/resources/fonts/keymanweb-osk.ttf" "$KEYMAN_ROOT/developer/src/tike/xml/layoutbuilder/" + +builder_run_child_actions clean configure build test api publish install + +function build_api() { + api-documenter markdown -i ../build/api -o ../build/docs + # TODO: Copy to help.keyman.com and open PR +} + +builder_run_action api build_api diff --git a/developer/src/samples/imsample/Makefile b/developer/src/samples/imsample/Makefile deleted file mode 100644 index e2b3994497..0000000000 --- a/developer/src/samples/imsample/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# -# imsample Makefile -# - -VERSION_TXT_PATH=..\.. - -!include ..\..\Defines.mak - -build: dirs version.res - $(MSBUILD) imsample.sln $(MSBUILD_BUILD) "/p:Platform=Win32" - $(COPY) $(WIN32_TARGET_PATH)\imsample.dll $(DEVELOPER_PROGRAM) - $(COPY) $(WIN32_TARGET_PATH)\imsample.pdb $(DEVELOPER_PROGRAM) - - $(MSBUILD) imsample.sln $(MSBUILD_BUILD) "/p:Platform=x64" - $(COPY) $(X64_TARGET_PATH)\imsample.x64.dll $(DEVELOPER_PROGRAM) - $(COPY) $(X64_TARGET_PATH)\imsample.x64.pdb $(DEVELOPER_PROGRAM) - - -signcode: - $(SIGNCODE) /d "Keyman IMX Sample" $(DEVELOPER_PROGRAM)\imsample.dll - $(SIGNCODE) /d "Keyman IMX Sample" $(DEVELOPER_PROGRAM)\imsample.x64.dll - - -wrap-symbols: - $(SYMSTORE) $(DEVELOPER_PROGRAM)\imsample.dll /t keyman-developer - $(SYMSTORE) $(DEVELOPER_PROGRAM)\imsample.x64.dll /t keyman-developer - $(SYMSTORE) $(DEVELOPER_DEBUGPATH)\imsample.pdb /t keyman-developer - $(SYMSTORE) $(DEVELOPER_DEBUGPATH)\imsample.x64.pdb /t keyman-developer - -clean: def-clean - $(MSBUILD) imsample.sln $(MSBUILD_CLEAN) - -install: - @rem - -!include ..\..\Target.mak diff --git a/developer/src/samples/imsample/build.sh b/developer/src/samples/imsample/build.sh new file mode 100755 index 0000000000..4c44d3c4ef --- /dev/null +++ b/developer/src/samples/imsample/build.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" +. "${THIS_SCRIPT%/*}/../../../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +builder_describe "Build imsample" clean configure build api test publish install +builder_parse "$@" + +#------------------------------------------------------------------------------------------------------------------- + +source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" +WIN32_TARGET="$WIN32_TARGET_PATH/imsample.dll" +X64_TARGET="$X64_TARGET_PATH/imsample.x64.dll" + +builder_describe_outputs \ + configure:project /resources/build/win/delphi_environment_generated.inc.sh \ + build:project /developer/src/samples/imsample/$X64_TARGET + +#------------------------------------------------------------------------------------------------------------------- + +function do_clean() { + vs_msbuild imsample.sln //t:Clean + rm -rf bin obj manifest.res manifest.xml version.res +} + +function do_build() { + build_version.res + vs_msbuild imsample.sln //t:Build "//p:Platform=Win32" + cp "$WIN32_TARGET" "$DEVELOPER_PROGRAM" + cp "$WIN32_TARGET_PATH/imsample.pdb" "$DEVELOPER_DEBUGPATH" + + vs_msbuild imsample.sln //t:Build "//p:Platform=x64" + cp "$X64_TARGET" "$DEVELOPER_PROGRAM" + cp "$X64_TARGET_PATH/imsample.x64.pdb" "$DEVELOPER_DEBUGPATH" +} + +# TODO +function do_publish() { + "$SIGNCODE" //d "Keyman IMX Sample" "$DEVELOPER_PROGRAM/imsample.dll" + "$SIGNCODE" //d "Keyman IMX Sample" "$DEVELOPER_PROGRAM/imsample.x64.dll" + + "$SYMSTORE" "$DEVELOPER_PROGRAM/imsample.dll" //t keyman-developer + "$SYMSTORE" "$DEVELOPER_PROGRAM/imsample.x64.dll" //t keyman-developer + "$SYMSTORE" "$DEVELOPER_DEBUGPATH/imsample.pdb" //t keyman-developer + "$SYMSTORE" "$DEVELOPER_DEBUGPATH/imsample.x64.pdb" //t keyman-developer +} + +builder_run_action clean:project do_clean +builder_run_action configure:project configure_windows_build_environment +builder_run_action build:project do_build +# builder_run_action test:project do_test +builder_run_action publish:project do_publish diff --git a/developer/src/server/Makefile b/developer/src/server/Makefile deleted file mode 100644 index d3786f01b8..0000000000 --- a/developer/src/server/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# -# Keyman Developer Server Makefile -# - -!include ..\Defines.mak - -build: .virtual - $(GIT_BASH_FOR_KEYMAN) build.sh configure build test installer - -clean: .virtual -#TODO: move to build.sh `clean` target - -rd /s/q build - -rd /s/q dist - -del tsconfig.tsbuildinfo - -signcode: - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\console\node-hide-console-window.node - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\console\node-hide-console-window.x64.node - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\trayicon\addon.node - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\server\build\src\win32\trayicon\addon.x64.node - -wrap-symbols: - @rem nothing to do - -test-manifest: - @rem This target needed as dependency for KMDECOMP - -install: - @rem nothing to do - -!include ..\Target.mak - - - diff --git a/developer/src/setup/Makefile b/developer/src/setup/Makefile deleted file mode 100644 index 565c0f67bb..0000000000 --- a/developer/src/setup/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Setup Makefile -# - -!include ..\Defines.mak - -build: version.res manifest.res icons - $(DELPHI_MSBUILD) setup.dproj "/p:Platform=Win32" - $(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\setup.exe -dpr setup.dpr - $(TDS2DBG) $(WIN32_TARGET_PATH)\setup.exe - $(COPY) $(WIN32_TARGET_PATH)\setup.exe $(DEVELOPER_PROGRAM) - if exist $(WIN32_TARGET_PATH)\setup.dbg $(COPY) $(WIN32_TARGET_PATH)\setup.dbg $(DEVELOPER_DEBUGPATH)\devsetup.dbg - -del $(WIN32_TARGET_PATH)\devsetup.dbg - if exist $(WIN32_TARGET_PATH)\setup.dbg ren $(WIN32_TARGET_PATH)\setup.dbg devsetup.dbg - -setup_dialog.res: - rc setup_dialog.rc - -icons: - rc icons.rc - -clean: def-clean - rem if exist icons\icons.res del icons\icons.res - -signcode: - rem SIGNCODE /d "Keyman Developer Setup" $(DEVELOPER_PROGRAM)\setup.exe - -wrap-symbols: -# This is slightly non-standard due to renamed devsetup.dbg above -# we should be able to clean this up in the future when we remove the -# zipped debug symbols - $(SYMSTORE) $(DEVELOPER_PROGRAM)\setup.exe /t keyman-developer - $(SYMSTORE) $(DEVELOPER_ROOT)\src\setup\setup.dbg /t keyman-developer - -test-manifest: -# test that (a) linked manifest exists and correct, and (b) has uiAccess=true - $(MT) -nologo -inputresource:$(DEVELOPER_PROGRAM)\setup.exe -validate_manifest - -install: - @rem - -!include ..\Target.mak diff --git a/developer/src/setup/build.sh b/developer/src/setup/build.sh index 8825c06929..ae6a4a0f0e 100755 --- a/developer/src/setup/build.sh +++ b/developer/src/setup/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build Keyman Developer Setup" clean configure build test builder_parse "$@" diff --git a/developer/src/tike/Makefile b/developer/src/tike/Makefile deleted file mode 100644 index 0bc0908db3..0000000000 --- a/developer/src/tike/Makefile +++ /dev/null @@ -1,99 +0,0 @@ -# -# TIKE Makefile -# - -!include ..\Defines.mak - -build: version.res manifest.res icons dirs xml xsd pull-core - cd $(DEVELOPER_ROOT)\src\tike - $(COPY) $(KEYMAN_ROOT)\common\resources\fonts\keymanweb-osk.ttf $(DEVELOPER_ROOT)\src\tike\xml\layoutbuilder\keymanweb-osk.ttf - $(DELPHI_MSBUILD) tike.dproj "/p:Platform=Win32" - $(SENTRYTOOL_DELPHIPREP) $(WIN32_TARGET_PATH)\tike.exe -dpr tike.dpr - $(TDS2DBG) $(WIN32_TARGET_PATH)\tike.exe - $(COPY) $(WIN32_TARGET_PATH)\tike.exe $(DEVELOPER_PROGRAM) - $(COPY) kmlmc.cmd $(DEVELOPER_PROGRAM) - $(COPY) kmlmp.cmd $(DEVELOPER_PROGRAM) - $(COPY) kmc.cmd $(DEVELOPER_PROGRAM) - $(COPY) $(KEYMAN_ROOT)\core\build\x86\$(TARGET_PATH)\src\$(KEYMANCORE).dll $(DEVELOPER_PROGRAM) - if exist $(WIN32_TARGET_PATH)\tike.dbg $(COPY) $(WIN32_TARGET_PATH)\tike.dbg $(DEVELOPER_DEBUGPATH) - $(COPY) $(KEYMAN_ROOT)\core\build\x86\$(TARGET_PATH)\src\$(KEYMANCORE).dll $(WIN32_TARGET_PATH) - $(COPY) $(KEYMAN_ROOT)\core\build\x86\$(TARGET_PATH)\src\$(KEYMANCORE).pdb $(WIN32_TARGET_PATH) - -xsd: - $(COPY) $(KEYMAN_ROOT)\common\schemas\kps\kps.xsd $(DEVELOPER_PROGRAM) - -xml: pull-npm sentry-init.js - cd $(DEVELOPER_ROOT)\src\tike\xml - -del /q $(DEVELOPER_PROGRAM)\xml\* - xcopy /s /y * $(DEVELOPER_PROGRAM)\xml - cd $(DEVELOPER_ROOT)\src\tike - -sentry-init.js: - cd $(DEVELOPER_ROOT)\src\tike\xml\app\lib\sentry - $(MKVER_U) init.js.in init.js - -pull-core: - cd $(KEYMAN_ROOT)\core -!ifdef GIT_BASH_FOR_KEYMAN -!ifdef DEBUG - $(GIT_BASH_FOR_KEYMAN) build.sh --no-tests clean:x86 configure:x86 build:x86 --debug -!else - $(GIT_BASH_FOR_KEYMAN) build.sh --no-tests clean:x86 configure:x86 build:x86 -!endif -!else -!ifdef DEBUG - start /wait ./build.sh --no-tests clean:x86 configure:x86 build:x86 --debug -!else - start /wait ./build.sh --no-tests clean:x86 configure:x86 build:x86 -!endif -!endif - -pull-npm: -# -# Grab the version of Monaco and any other node modules -# that we want to use in Keyman Developer, and copy into -# lib folder for sane paths. If we use more npm modules in the -# future, we may consolidate the paths at that time. -# - cd $(DEVELOPER_ROOT)\src\tike\xml\app - npm install - -rd /s/q $(DEVELOPER_ROOT)\src\tike\xml\app\lib\monaco - xcopy /i /s /y $(DEVELOPER_ROOT)\src\tike\xml\app\node_modules\monaco-editor\min $(DEVELOPER_ROOT)\src\tike\xml\app\lib\monaco\min - xcopy /i /s /y $(DEVELOPER_ROOT)\src\tike\xml\app\node_modules\monaco-editor\min-maps $(DEVELOPER_ROOT)\src\tike\xml\app\lib\monaco\min-maps - -icons: - rc icons.rc - -clean: def-clean - if exist icons.res del icons.res - -signcode: - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\tike.exe - $(SIGNCODE) /d "Keyman Core" $(DEVELOPER_PROGRAM)\$(KEYMANCORE).dll -# Sign the Sentry executables and libraries here - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\sentry.dll - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\sentry.x64.dll - $(SIGNCODE) /d "Keyman Developer" $(DEVELOPER_PROGRAM)\crashpad_handler.exe - -wrap-symbols: - $(SYMSTORE) $(DEVELOPER_PROGRAM)\tike.exe /t keyman-developer - $(SYMSTORE) $(DEVELOPER_DEBUGPATH)\tike.dbg /t keyman-developer - -install: - $(COPY) $(DEVELOPER_PROGRAM)\tike.exe "$(INSTALLPATH_KEYMANDEVELOPER)\tike.exe" - $(COPY) $(DEVELOPER_PROGRAM)\$(KEYMANCORE).dll "$(INSTALLPATH_KEYMANDEVELOPER)\$(KEYMANCORE).dll" - -test-manifest: -# test that linked manifest exists and correct - $(MT) -nologo -inputresource:$(DEVELOPER_PROGRAM)\tike.exe -validate_manifest - -generate-app-wxs: - @echo ******************************************************************************************* - @echo The generated ..\inst\monaco_gen.wxs file will require manual merging with the existing - @echo monaco.xws. Existing component GUIDs must be maintained per Windows Installer component - @echo rules (a file at a single location should have a permanent GUID for reference counting). - @echo ******************************************************************************************* - $(WIXPATH)\heat.exe dir xml\app\lib\monaco\min\vs -gg -o ..\inst\monaco_gen.wxs -cg MonacoFiles -var var.MonacoSourceDir -dr MonacoTargetDir - -!include ..\Target.mak - diff --git a/developer/src/tike/build.sh b/developer/src/tike/build.sh index 8420ad6398..9db3ae97a1 100755 --- a/developer/src/tike/build.sh +++ b/developer/src/tike/build.sh @@ -5,8 +5,6 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" . "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh" ## END STANDARD BUILD SCRIPT INCLUDE -cd "$THIS_SCRIPT_PATH" - builder_describe "Build Keyman Developer IDE" @/core:x86 clean configure build test publish install builder_parse "$@"