From 4a15e0c31f6df17572e1cdd968361dea1054c4d8 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Sun, 14 Jun 2015 20:23:43 +1000 Subject: [PATCH] build: add tar-headers target for headers-only tar to replace the full src download by node-gyp, using the proper format instead of the full source format PR-URL: https://github.com/nodejs/io.js/pull/1975 Reviewed-By: William Blankenship Reviewed-By: Johan Bergstrom --- Makefile | 23 +++++++++++++++++++++++ tools/install.py | 14 +++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 103bdec58c0e71..d3e799d62a7397 100644 --- a/Makefile +++ b/Makefile @@ -340,6 +340,29 @@ doc-upload: tar scp -r out/doc/ $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/ ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/doc.done" +$(TARBALL)-headers: config.gypi release-only + $(PYTHON) ./configure --prefix=/ --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS) + HEADERS_ONLY=1 $(PYTHON) tools/install.py install '$(TARNAME)' '$(PREFIX)' + find $(TARNAME)/ -type l | xargs rm # annoying on windows + tar -cf $(TARNAME)-headers.tar $(TARNAME) + rm -rf $(TARNAME) + gzip -c -f -9 $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.gz +ifeq ($(XZ), 0) + xz -c -f -$(XZ_COMPRESSION) $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.xz +endif + rm $(TARNAME)-headers.tar + +tar-headers: $(TARBALL)-headers + +tar-headers-upload: tar-headers + ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)" + scp -p $(TARNAME)-headers.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.gz + ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.gz.done" +ifeq ($(XZ), 0) + scp -p $(TARNAME)-headers.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.xz + ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.xz.done" +endif + $(BINARYTAR): release-only rm -rf $(BINARYNAME) rm -rf out/deps out/Release diff --git a/tools/install.py b/tools/install.py index 8d76a14860dc51..4bacaadc4a92b9 100755 --- a/tools/install.py +++ b/tools/install.py @@ -156,6 +156,9 @@ def files(action): if 'true' == variables.get('node_install_npm'): npm_files(action) + headers(action) + +def headers(action): action([ 'common.gypi', 'config.gypi', @@ -178,7 +181,6 @@ def files(action): subdir_files('deps/openssl/config/archs', 'include/node/openssl/archs', action) action(['deps/openssl/config/opensslconf.h'], 'include/node/openssl/') - if 'false' == variables.get('node_shared_zlib'): action([ 'deps/zlib/zconf.h', @@ -207,8 +209,14 @@ def run(args): install_path = dst_dir + node_prefix + '/' cmd = args[1] if len(args) > 1 else 'install' - if cmd == 'install': return files(install) - if cmd == 'uninstall': return files(uninstall) + + if os.environ.get('HEADERS_ONLY'): + if cmd == 'install': return headers(install) + if cmd == 'uninstall': return headers(uninstall) + else: + if cmd == 'install': return files(install) + if cmd == 'uninstall': return files(uninstall) + raise RuntimeError('Bad command: %s\n' % cmd) if __name__ == '__main__':