+ config/wasm/global.mk
+ config/wasm/libs.mk
+ config/wasm/emcc.mk
* utils/hbmk2/hbmk2.prg
* contrib/hbrun/hbrun.hbp
+ add basic support for build Harbour into JS/WebAssembly using
emscripten, using these settings:
HB_PLATFORM=wasm HB_COMPILER=emcc HB_BUILD_3RDEXT=no
* {abstr} is now a hbmk2 keyword to possibly group all
toolsets similar in flavour: WASI/clang, JS/emscripten
These most likely will be targeting plaforms which are not
full operating-systems, they are also commonly qualified as
sandbox solutions.
* introduced __PLATFORM__WASM and __PLATFORM__ABSTRACT .prg defines
* utils/hbmk2/hbmk2.prg
+ allow to specify hb_ProgName() value at build-time for platforms
where the function cannot return a meaningful value (f.e.
JS/WebAssembly)
; TODO: Add support for passing hb_ProgName() value command-line
parameter, f.e. `--hb:self=hbrun`
* config/global.mk
* include/hbsetup.h
* consider abstract/emscripten targets similar to linux-like
* src/rtl/arc4.c
! fix to build under emscripten (which is assumed to be a
linux-like environment)
; though platform/compiler names are not currently compatible
with origin, this WebAssembly platform support was guided by
Harbour 3.4:
2017-06-09 01:10 UTC Viktor Szakats (vszakats users.noreply.github.com)
as usual Viktor was here before, many thanks!
; example project, how to make a multi-platform GUI application which
also targets WebAssembly, can be found here:
https://github.com/alcz/harbour-cimgui-sokol-starterkit/
24 lines
469 B
Makefile
24 lines
469 B
Makefile
SYSLIBPATHS :=
|
|
|
|
ifneq ($(HB_LINKING_RTL),)
|
|
ifneq ($(HB_HAS_X11),)
|
|
SYSLIBS += X11
|
|
ifneq ($(wildcard /usr/X11R6/lib),)
|
|
SYSLIBPATHS += /usr/X11R6/lib
|
|
endif
|
|
ifneq ($(wildcard /opt/X11/lib),)
|
|
SYSLIBPATHS += /opt/X11/lib
|
|
endif
|
|
endif
|
|
ifneq ($(HB_HAS_PCRE),)
|
|
ifeq ($(HB_HAS_PCRE_LOCAL),)
|
|
SYSLIBS += pcre
|
|
endif
|
|
endif
|
|
ifeq ($(HB_HAS_ZLIB_LOCAL),)
|
|
SYSLIBS += z
|
|
endif
|
|
endif
|
|
|
|
SYSLIBS += m
|