From 3c61695a8235eec183de1470c42ce5d112ddaa49 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Thu, 17 Oct 2013 19:38:07 +0200 Subject: fdo#70393: move expat to a subdir of external Change-Id: I4735c3b10081ac62b4620ff5180f12c30b077627 Reviewed-on: https://gerrit.libreoffice.org/6300 Reviewed-by: David Tardon Tested-by: David Tardon --- RepositoryModule_host.mk | 1 - expat/ExternalProject_expat.mk | 22 ------------ expat/Makefile | 7 ---- expat/Module_expat.mk | 41 ---------------------- expat/README | 4 --- expat/StaticLibrary_expat.mk | 56 ------------------------------- expat/StaticLibrary_expat_x64.mk | 33 ------------------ expat/UnpackedTarball_expat.mk | 32 ------------------ expat/expat-2.1.0.patch | 13 ------- expat/expat-winapi.patch | 13 ------- external/Module_external.mk | 1 + external/expat/ExternalProject_expat.mk | 22 ++++++++++++ external/expat/Makefile | 7 ++++ external/expat/Module_expat.mk | 37 ++++++++++++++++++++ external/expat/README | 4 +++ external/expat/StaticLibrary_expat.mk | 56 +++++++++++++++++++++++++++++++ external/expat/StaticLibrary_expat_x64.mk | 33 ++++++++++++++++++ external/expat/UnpackedTarball_expat.mk | 32 ++++++++++++++++++ external/expat/expat-2.1.0.patch | 13 +++++++ external/expat/expat-winapi.patch | 13 +++++++ 20 files changed, 218 insertions(+), 222 deletions(-) delete mode 100644 expat/ExternalProject_expat.mk delete mode 100644 expat/Makefile delete mode 100644 expat/Module_expat.mk delete mode 100644 expat/README delete mode 100644 expat/StaticLibrary_expat.mk delete mode 100644 expat/StaticLibrary_expat_x64.mk delete mode 100644 expat/UnpackedTarball_expat.mk delete mode 100644 expat/expat-2.1.0.patch delete mode 100644 expat/expat-winapi.patch create mode 100644 external/expat/ExternalProject_expat.mk create mode 100644 external/expat/Makefile create mode 100644 external/expat/Module_expat.mk create mode 100644 external/expat/README create mode 100644 external/expat/StaticLibrary_expat.mk create mode 100644 external/expat/StaticLibrary_expat_x64.mk create mode 100644 external/expat/UnpackedTarball_expat.mk create mode 100644 external/expat/expat-2.1.0.patch create mode 100644 external/expat/expat-winapi.patch diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk index 1d1e3788ab03..5e7257bfb83f 100644 --- a/RepositoryModule_host.mk +++ b/RepositoryModule_host.mk @@ -46,7 +46,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\ embeddedobj \ embedserv \ eventattacher \ - $(call gb_Helper_optional,EXPAT,expat) \ extensions \ external \ extras \ diff --git a/expat/ExternalProject_expat.mk b/expat/ExternalProject_expat.mk deleted file mode 100644 index 2fdaf5e1a4cb..000000000000 --- a/expat/ExternalProject_expat.mk +++ /dev/null @@ -1,22 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_ExternalProject_ExternalProject,expat)) - -$(eval $(call gb_ExternalProject_register_targets,expat,\ - configure \ -)) - -$(call gb_ExternalProject_get_state_target,expat,configure) : - $(call gb_ExternalProject_run,configure,\ - ./configure \ - $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ - ,,expat_configure.log) - -# vim: set noet sw=4 ts=4: diff --git a/expat/Makefile b/expat/Makefile deleted file mode 100644 index ccb1c85a04da..000000000000 --- a/expat/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- - -module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) - -include $(module_directory)/../solenv/gbuild/partial_build.mk - -# vim: set noet sw=4 ts=4: diff --git a/expat/Module_expat.mk b/expat/Module_expat.mk deleted file mode 100644 index 990a2a3b497b..000000000000 --- a/expat/Module_expat.mk +++ /dev/null @@ -1,41 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_Module_Module,expat)) - -ifeq ($(SYSTEM_EXPAT),NO) - -$(eval $(call gb_Module_add_targets,expat,\ - UnpackedTarball_expat \ - StaticLibrary_expat \ -)) - -# Actually it wasn't that clear if we should -# run configure step on mingw or not: -# CONFIGURATION_ACTION wasn't set, but -# CROSS_COMPILE case was handled in original makefile - -# tested it on mingw and it doesn't hurt ;-) -#ifneq ($(OS),WNT) -ifneq ($(OS)$(COM),WNTMSC) -$(eval $(call gb_Module_add_targets,expat,\ - ExternalProject_expat \ -)) -endif - -# ---------------- X64 stuff special --------------------- -ifeq ($(BUILD_X64),TRUE) -$(eval $(call gb_Module_add_targets,expat,\ - StaticLibrary_expat_x64 \ -)) -endif - -endif - -# vim: set noet sw=4 ts=4: diff --git a/expat/README b/expat/README deleted file mode 100644 index 579d3d3d6bd5..000000000000 --- a/expat/README +++ /dev/null @@ -1,4 +0,0 @@ -Simple SAX parser library with added UTF-16 support. - -From: -[http://expat.sourceforge.net/] diff --git a/expat/StaticLibrary_expat.mk b/expat/StaticLibrary_expat.mk deleted file mode 100644 index 2f754526b6e9..000000000000 --- a/expat/StaticLibrary_expat.mk +++ /dev/null @@ -1,56 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_StaticLibrary_StaticLibrary,expat)) - -$(eval $(call gb_StaticLibrary_set_warnings_not_errors,expat)) - -$(eval $(call gb_StaticLibrary_use_unpacked,expat,expat)) - -# no configure step on windows, no dependency -ifneq ($(OS)$(COM),WNTMSC) -$(eval $(call gb_StaticLibrary_use_external_project,expat,expat)) -endif - -$(eval $(call gb_StaticLibrary_set_include,expat,\ - -I$(call gb_UnpackedTarball_get_dir,expat) \ - $$(INCLUDE) \ -)) - -ifeq ($(OS),MACOSX) -ifneq ($(strip $(SYSBASE)),) -$(eval $(call gb_StaticLibrary_add_defs,expat,\ - -DHAVE_MEMMOVE \ - -DHAVE_BCOPY \ -)) -endif -endif - -ifeq ($(OS),WNT) -$(eval $(call gb_StaticLibrary_add_defs,expat,\ - -DCOMPILED_FROM_DSP \ -)) -else -$(eval $(call gb_StaticLibrary_add_defs,expat,\ - -DHAVE_EXPAT_CONFIG_H \ -)) -endif - -# suppress warning spam -$(eval $(call gb_StaticLibrary_add_cflags,expat,\ - -w \ -)) - -$(eval $(call gb_StaticLibrary_add_generated_cobjects,expat,\ - UnpackedTarball/expat/lib/xmlparse \ - UnpackedTarball/expat/lib/xmlrole \ - UnpackedTarball/expat/lib/xmltok \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/expat/StaticLibrary_expat_x64.mk b/expat/StaticLibrary_expat_x64.mk deleted file mode 100644 index a38ba28c80dd..000000000000 --- a/expat/StaticLibrary_expat_x64.mk +++ /dev/null @@ -1,33 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_StaticLibrary_StaticLibrary,expat_x64)) - -$(eval $(call gb_StaticLibrary_set_x64,expat_x64,YES)) - -$(eval $(call gb_StaticLibrary_set_warnings_not_errors,expat_x64)) - -$(eval $(call gb_StaticLibrary_use_unpacked,expat_x64,expat)) - -$(eval $(call gb_StaticLibrary_set_include,expat_x64,\ - -I$(call gb_UnpackedTarball_get_dir,expat) \ - $$(INCLUDE) \ -)) - -$(eval $(call gb_StaticLibrary_add_defs,expat_x64,\ - -DCOMPILED_FROM_DSP \ -)) - -$(eval $(call gb_StaticLibrary_add_x64_generated_cobjects,expat_x64,\ - UnpackedTarball/expat/lib/xmlparse_x64 \ - UnpackedTarball/expat/lib/xmltok_x64 \ - UnpackedTarball/expat/lib/xmlrole_x64 \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/expat/UnpackedTarball_expat.mk b/expat/UnpackedTarball_expat.mk deleted file mode 100644 index 660271aa8300..000000000000 --- a/expat/UnpackedTarball_expat.mk +++ /dev/null @@ -1,32 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_UnpackedTarball_UnpackedTarball,expat)) - -$(eval $(call gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL))) - -$(eval $(call gb_UnpackedTarball_add_patches,expat,\ - expat/expat-2.1.0.patch \ -)) - -# This is a bit hackish. - -# When building for Windows (as 32-bit) we need to build it twice: as -# 32- and 64-bit code, to be able to produce a 64-bit Explorer -# ("shell") extension that is used when the 32-bit LibreOffice is -# installed on a 64-bit OS. - -$(eval $(call gb_UnpackedTarball_set_post_action,expat,\ - $(if $(filter $(BUILD_X64),TRUE), \ - cp lib/xmlparse.c lib/xmlparse_x64.c && \ - cp lib/xmltok.c lib/xmltok_x64.c && \ - cp lib/xmlrole.c lib/xmlrole_x64.c) \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/expat/expat-2.1.0.patch b/expat/expat-2.1.0.patch deleted file mode 100644 index 070dafc0cb0c..000000000000 --- a/expat/expat-2.1.0.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- misc/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:17.375000000 +0000 -+++ misc/build/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:34.703125000 +0000 -@@ -7,10 +7,6 @@ - - /* External API definitions */ - --#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) --#define XML_USE_MSC_EXTENSIONS 1 --#endif -- - /* Expat tries very hard to make the API boundary very specifically - defined. There are two macros defined to control this boundary; - each of these can be defined before including this header to diff --git a/expat/expat-winapi.patch b/expat/expat-winapi.patch deleted file mode 100644 index 070dafc0cb0c..000000000000 --- a/expat/expat-winapi.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- misc/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:17.375000000 +0000 -+++ misc/build/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:34.703125000 +0000 -@@ -7,10 +7,6 @@ - - /* External API definitions */ - --#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) --#define XML_USE_MSC_EXTENSIONS 1 --#endif -- - /* Expat tries very hard to make the API boundary very specifically - defined. There are two macros defined to control this boundary; - each of these can be defined before including this header to diff --git a/external/Module_external.mk b/external/Module_external.mk index ec8e15b7598a..24c2b552a8bd 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -28,6 +28,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\ $(call gb_Helper_optional,CT2N,ct2n) \ $(call gb_Helper_optional,CURL,curl) \ $(call gb_Helper_optional,EPM,epm) \ + $(call gb_Helper_optional,EXPAT,expat) \ $(call gb_Helper_optional,HARFBUZZ,harfbuzz) \ $(call gb_Helper_optional,LIBPNG,libpng) \ )) diff --git a/external/expat/ExternalProject_expat.mk b/external/expat/ExternalProject_expat.mk new file mode 100644 index 000000000000..2fdaf5e1a4cb --- /dev/null +++ b/external/expat/ExternalProject_expat.mk @@ -0,0 +1,22 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalProject_ExternalProject,expat)) + +$(eval $(call gb_ExternalProject_register_targets,expat,\ + configure \ +)) + +$(call gb_ExternalProject_get_state_target,expat,configure) : + $(call gb_ExternalProject_run,configure,\ + ./configure \ + $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + ,,expat_configure.log) + +# vim: set noet sw=4 ts=4: diff --git a/external/expat/Makefile b/external/expat/Makefile new file mode 100644 index 000000000000..ccb1c85a04da --- /dev/null +++ b/external/expat/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/expat/Module_expat.mk b/external/expat/Module_expat.mk new file mode 100644 index 000000000000..ab39cdaf8dc5 --- /dev/null +++ b/external/expat/Module_expat.mk @@ -0,0 +1,37 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,expat)) + +$(eval $(call gb_Module_add_targets,expat,\ + UnpackedTarball_expat \ + StaticLibrary_expat \ +)) + +# Actually it wasn't that clear if we should +# run configure step on mingw or not: +# CONFIGURATION_ACTION wasn't set, but +# CROSS_COMPILE case was handled in original makefile + +# tested it on mingw and it doesn't hurt ;-) +#ifneq ($(OS),WNT) +ifneq ($(OS)$(COM),WNTMSC) +$(eval $(call gb_Module_add_targets,expat,\ + ExternalProject_expat \ +)) +endif + +# ---------------- X64 stuff special --------------------- +ifeq ($(BUILD_X64),TRUE) +$(eval $(call gb_Module_add_targets,expat,\ + StaticLibrary_expat_x64 \ +)) +endif + +# vim: set noet sw=4 ts=4: diff --git a/external/expat/README b/external/expat/README new file mode 100644 index 000000000000..579d3d3d6bd5 --- /dev/null +++ b/external/expat/README @@ -0,0 +1,4 @@ +Simple SAX parser library with added UTF-16 support. + +From: +[http://expat.sourceforge.net/] diff --git a/external/expat/StaticLibrary_expat.mk b/external/expat/StaticLibrary_expat.mk new file mode 100644 index 000000000000..2f754526b6e9 --- /dev/null +++ b/external/expat/StaticLibrary_expat.mk @@ -0,0 +1,56 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_StaticLibrary_StaticLibrary,expat)) + +$(eval $(call gb_StaticLibrary_set_warnings_not_errors,expat)) + +$(eval $(call gb_StaticLibrary_use_unpacked,expat,expat)) + +# no configure step on windows, no dependency +ifneq ($(OS)$(COM),WNTMSC) +$(eval $(call gb_StaticLibrary_use_external_project,expat,expat)) +endif + +$(eval $(call gb_StaticLibrary_set_include,expat,\ + -I$(call gb_UnpackedTarball_get_dir,expat) \ + $$(INCLUDE) \ +)) + +ifeq ($(OS),MACOSX) +ifneq ($(strip $(SYSBASE)),) +$(eval $(call gb_StaticLibrary_add_defs,expat,\ + -DHAVE_MEMMOVE \ + -DHAVE_BCOPY \ +)) +endif +endif + +ifeq ($(OS),WNT) +$(eval $(call gb_StaticLibrary_add_defs,expat,\ + -DCOMPILED_FROM_DSP \ +)) +else +$(eval $(call gb_StaticLibrary_add_defs,expat,\ + -DHAVE_EXPAT_CONFIG_H \ +)) +endif + +# suppress warning spam +$(eval $(call gb_StaticLibrary_add_cflags,expat,\ + -w \ +)) + +$(eval $(call gb_StaticLibrary_add_generated_cobjects,expat,\ + UnpackedTarball/expat/lib/xmlparse \ + UnpackedTarball/expat/lib/xmlrole \ + UnpackedTarball/expat/lib/xmltok \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/expat/StaticLibrary_expat_x64.mk b/external/expat/StaticLibrary_expat_x64.mk new file mode 100644 index 000000000000..a38ba28c80dd --- /dev/null +++ b/external/expat/StaticLibrary_expat_x64.mk @@ -0,0 +1,33 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_StaticLibrary_StaticLibrary,expat_x64)) + +$(eval $(call gb_StaticLibrary_set_x64,expat_x64,YES)) + +$(eval $(call gb_StaticLibrary_set_warnings_not_errors,expat_x64)) + +$(eval $(call gb_StaticLibrary_use_unpacked,expat_x64,expat)) + +$(eval $(call gb_StaticLibrary_set_include,expat_x64,\ + -I$(call gb_UnpackedTarball_get_dir,expat) \ + $$(INCLUDE) \ +)) + +$(eval $(call gb_StaticLibrary_add_defs,expat_x64,\ + -DCOMPILED_FROM_DSP \ +)) + +$(eval $(call gb_StaticLibrary_add_x64_generated_cobjects,expat_x64,\ + UnpackedTarball/expat/lib/xmlparse_x64 \ + UnpackedTarball/expat/lib/xmltok_x64 \ + UnpackedTarball/expat/lib/xmlrole_x64 \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/expat/UnpackedTarball_expat.mk b/external/expat/UnpackedTarball_expat.mk new file mode 100644 index 000000000000..1ea97b584251 --- /dev/null +++ b/external/expat/UnpackedTarball_expat.mk @@ -0,0 +1,32 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,expat)) + +$(eval $(call gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL))) + +$(eval $(call gb_UnpackedTarball_add_patches,expat,\ + external/expat/expat-2.1.0.patch \ +)) + +# This is a bit hackish. + +# When building for Windows (as 32-bit) we need to build it twice: as +# 32- and 64-bit code, to be able to produce a 64-bit Explorer +# ("shell") extension that is used when the 32-bit LibreOffice is +# installed on a 64-bit OS. + +$(eval $(call gb_UnpackedTarball_set_post_action,expat,\ + $(if $(filter $(BUILD_X64),TRUE), \ + cp lib/xmlparse.c lib/xmlparse_x64.c && \ + cp lib/xmltok.c lib/xmltok_x64.c && \ + cp lib/xmlrole.c lib/xmlrole_x64.c) \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/expat/expat-2.1.0.patch b/external/expat/expat-2.1.0.patch new file mode 100644 index 000000000000..070dafc0cb0c --- /dev/null +++ b/external/expat/expat-2.1.0.patch @@ -0,0 +1,13 @@ +--- misc/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:17.375000000 +0000 ++++ misc/build/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:34.703125000 +0000 +@@ -7,10 +7,6 @@ + + /* External API definitions */ + +-#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) +-#define XML_USE_MSC_EXTENSIONS 1 +-#endif +- + /* Expat tries very hard to make the API boundary very specifically + defined. There are two macros defined to control this boundary; + each of these can be defined before including this header to diff --git a/external/expat/expat-winapi.patch b/external/expat/expat-winapi.patch new file mode 100644 index 000000000000..070dafc0cb0c --- /dev/null +++ b/external/expat/expat-winapi.patch @@ -0,0 +1,13 @@ +--- misc/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:17.375000000 +0000 ++++ misc/build/expat-2.1.0/lib/expat_external.h 2009-11-16 08:53:34.703125000 +0000 +@@ -7,10 +7,6 @@ + + /* External API definitions */ + +-#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) +-#define XML_USE_MSC_EXTENSIONS 1 +-#endif +- + /* Expat tries very hard to make the API boundary very specifically + defined. There are two macros defined to control this boundary; + each of these can be defined before including this header to -- cgit