Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.

Commit

Permalink
[Pal,LibOS] New logging system
Browse files Browse the repository at this point in the history
Instead of 'loader.debug_type', introduce 'loader.log_level'
and 'loader.log_file', along with a set of definitions for
logging at a chosen level.

For now, the call sites keep using the legacy macros (SGX_DBG and
debug()), because converting them all will conflict with other
big changes in the code base. The existing LibOS calls are
assumed to be at 'info' level.
  • Loading branch information
pwmarcz authored and mkow committed Jan 20, 2021
1 parent e395e01 commit 17ab04d
Show file tree
Hide file tree
Showing 90 changed files with 411 additions and 237 deletions.
2 changes: 1 addition & 1 deletion Documentation/devel/performance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ particular, build Graphene in non-debug configuration (simple ``make SGX=1``
defaults to non-debug configuration). Also build the application itself in
non-debug configuration (again, typically simple ``make SGX=1`` is sufficient).
Finally, disable the debug log of Graphene by specifying the manifest option
``loader.debug_type = "none"``.
``loader.log_level = "none"``.

If your application periodically fails and complains about seemingly irrelevant
things, it may be due to insufficient enclave memory. Please try to increase
Expand Down
20 changes: 10 additions & 10 deletions Documentation/manifest-syntax.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,21 @@ Comments can be inlined in a |~| manifest by starting them with a |~| hash sign
Common syntax
-------------

Debug type
^^^^^^^^^^
Log level
^^^^^^^^^

::

loader.debug_type = "[none|inline|file]"
(Default: "none")
loader.log_level = "[none|error|info|debug|trace|all]"
(Default: "error")

loader.debug_file = "[PATH]"
loader.log_file = "[PATH]"

This specifies the debug option while running the library OS. If the debug type
is ``none``, no debug output will be printed to standard output. If the debug
type is ``inline``, a dmesg-like debug output will be printed inline with
standard output. If the debug type is ``file``, debug output will be written to
the file specified in ``loader.debug_file``.
This configures Graphene's debug log. The ``log_level`` option specifies what
messages to enable (e.g. ``loader.log_level = "debug"`` will enable all messages
of type ``error``, ``info`` and ``debug``). By default, the messages are printed
to the standard output. If ``log_file`` is specified, the messages will be
appended to that file.

Preloaded libraries
^^^^^^^^^^^^^^^^^^^
Expand Down
6 changes: 3 additions & 3 deletions Examples/apache/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ GRAPHENEDIR ?= $(THIS_DIR)../..
SGX_SIGNER_KEY ?= $(GRAPHENEDIR)/Pal/src/host/Linux-SGX/signer/enclave-key.pem

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand Down Expand Up @@ -116,7 +116,7 @@ httpd-trusted-libs: httpd-deps httpd-modules $(INSTALL_DIR)/bin/httpd

httpd.manifest: httpd.manifest.template httpd-trusted-mods httpd-trusted-libs
sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(INSTALL_DIR)|'"$(INSTALL_DIR)"'|g' \
-e 's|$$(INSTALL_DIR_ABSPATH)|'"$(abspath $(INSTALL_DIR))"'|g' \
-e 's|$$(HTTPD_TRUSTED_MODS)|'"`cat httpd-trusted-mods`"'|g' \
Expand Down
2 changes: 1 addition & 1 deletion Examples/apache/httpd.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ loader.argv0_override = "httpd"
# Read application arguments directly from the command line. Don't use this on production!
loader.insecure__use_cmdline_argv = 1

loader.debug_type = "$(GRAPHENEDEBUG)"
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

# Environment variables
loader.env.LD_LIBRARY_PATH = "/lib:$(ARCH_LIBDIR):/usr/lib:/usr/$(ARCH_LIBDIR)"
Expand Down
6 changes: 3 additions & 3 deletions Examples/bash/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ GRAPHENEDIR ?= ../..
SGX_SIGNER_KEY ?= $(GRAPHENEDIR)/Pal/src/host/Linux-SGX/signer/enclave-key.pem

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand All @@ -35,7 +35,7 @@ trusted-libs: ../common_tools/get_deps.sh

bash.manifest: manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(EXECDIR)|'"$(shell dirname $(shell which bash))"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
$<; \
Expand Down
2 changes: 1 addition & 1 deletion Examples/bash/manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ libos.entrypoint = "file:$(EXECDIR)/bash"
# Read application arguments directly from the command line. Don't use this on production!
loader.insecure__use_cmdline_argv = 1

loader.debug_type = "$(GRAPHENEDEBUG)"
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

# Environment variables
loader.env.LD_LIBRARY_PATH = "/lib:$(ARCH_LIBDIR):/usr$(ARCH_LIBDIR)"
Expand Down
6 changes: 3 additions & 3 deletions Examples/blender/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ $(error This example requires Ubuntu 16.04, 18.04 or 20.04)
endif

ifeq ($(DEBUG),1)
GRAPHENE_DEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENE_DEBUG = none
GRAPHENE_LOG_LEVEL = error
endif


Expand All @@ -51,7 +51,7 @@ trusted-libs: ../common_tools/get_deps.sh $(BLENDER_DIR)/blender

blender.manifest: blender.manifest.template trusted-libs | $(RUN_DIR)
(sed -e 's|$$(GRAPHENE_DIR)|'"$(GRAPHENE_DIR)"'|g' \
-e 's|$$(GRAPHENE_DEBUG)|'"$(GRAPHENE_DEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(DATA_DIR)|'"$(DATA_DIR)"'|g' \
-e 's|$$(BLENDER_DIR)|'"$(BLENDER_DIR)"'|g' \
-e 's|$$(BLENDER_VER)|'"$(BLENDER_VER)"'|g' \
Expand Down
2 changes: 1 addition & 1 deletion Examples/blender/blender.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ libos.entrypoint = "file:$(BLENDER_DIR)/blender"
loader.insecure__use_cmdline_argv = 1

loader.preload = "file:$(GRAPHENE_DIR)/Runtime/libsysdb.so"
loader.debug_type = "$(GRAPHENE_DEBUG)"
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

loader.env.LD_LIBRARY_PATH = "/graphene_lib:/blender_lib:/usr/$(ARCH_LIBDIR):$(ARCH_LIBDIR)"
loader.env.HOME = "/home/user"
Expand Down
6 changes: 3 additions & 3 deletions Examples/busybox/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ BUSYBOX_URL ?= https://busybox.net/downloads/busybox-1.32.0.tar.bz2
BUSYBOX_SHA256 ?= c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif


Expand Down Expand Up @@ -69,7 +69,7 @@ $(SRCDIR)/busybox: $(SRCDIR)/.config

busybox.manifest: busybox.manifest.template
sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
$< > $@

Expand Down
9 changes: 5 additions & 4 deletions Examples/busybox/busybox.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ loader.insecure__use_cmdline_argv = 1
# build process.
loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"

# Show/hide debug log of Graphene ('inline' or 'none' respectively). Note that
# GRAPHENEDEBUG macro is expanded to inline/none in the Makefile as part of the
# build process.
loader.debug_type = "$(GRAPHENEDEBUG)"
# Verbosity of Graphene debug log (none/error/info/debug/trace/all). Note that
# GRAPHENE_LOG_LEVEL macro is expanded in the Makefile as part of the building
# process: the default is "error" for non-debug builds, and "debug" for debug
# builds.
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

################################# ENV VARS ###################################

Expand Down
6 changes: 3 additions & 3 deletions Examples/capnproto/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ ADDRESSBOOK_CAP_URL ?= $(CAPNPROTO_SRC_URL)/c%2B%2B/samples/addressbook.capnp
ADDRESSBOOK_CAP_SHA256 ?= cf309b8b277881c95aaa785f4d0154f46f82575fdb9dea49fb10ee072b7c3ae6

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand Down Expand Up @@ -63,7 +63,7 @@ trusted-libs: ../common_tools/get_deps.sh $(SRCDIR)/addressbook

addressbook.manifest: addressbook.manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
$<; \
cat trusted-libs) > $@
Expand Down
4 changes: 2 additions & 2 deletions Examples/capnproto/addressbook.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ libos.entrypoint = "file:addressbook"
# LibOS layer library of Graphene (currently only one implementation, libsysdb)
loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"

# Show/hide debug log of Graphene ('inline' or 'none' respectively)
loader.debug_type = "$(GRAPHENEDEBUG)"
# Graphene log level
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

# Read application arguments directly from the command line. Don't use this on production!
loader.insecure__use_cmdline_argv = 1
Expand Down
6 changes: 3 additions & 3 deletions Examples/curl/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ GRAPHENEDIR ?= ../..
SGX_SIGNER_KEY ?= $(GRAPHENEDIR)/Pal/src/host/Linux-SGX/signer/enclave-key.pem

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand All @@ -37,7 +37,7 @@ trusted-libs: ../common_tools/get_deps.sh

curl.manifest: curl.manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(CURL_DIR)|'"$(CURL_DIR)"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
$<; \
Expand Down
4 changes: 2 additions & 2 deletions Examples/curl/curl.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ loader.argv0_override = "curl"
# so it is always set to libsysdb.so.
loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"

# Show/hide debug log of Graphene ('inline' or 'none' respectively).
loader.debug_type = "$(GRAPHENEDEBUG)"
# Graphene log level
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

# Read application arguments directly from the command line. Don't use this on production!
loader.insecure__use_cmdline_argv = 1
Expand Down
6 changes: 3 additions & 3 deletions Examples/gcc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ GZIP_MIRRORS ?= https://people.csail.mit.edu/smcc/projects/single-file-programs/
GZIP_HASH ?= 7ec7d87822e6497648580064756f64e47dbd085727910ebbc52a7c240a88dc27

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

include ../../Scripts/Makefile.configs
Expand Down Expand Up @@ -43,7 +43,7 @@ trusted-libs: ../common_tools/get_deps.sh

%.manifest: %.manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(BINUTILS_VERSION)|'"$(BINUTILS_VERSION)"'|g' \
-e 's|$$(GCC_MAJOR_VERSION)|'"$(GCC_MAJOR_VERSION)"'|g' \
-e 's|$$(GCC_LIB_PATH)|'"$(GCC_LIB_PATH)"'|g' \
Expand Down
2 changes: 1 addition & 1 deletion Examples/gcc/gcc.manifest.template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"
loader.env.LD_LIBRARY_PATH = "/lib:$(ARCH_LIBDIR):/usr/lib:/usr/$(ARCH_LIBDIR)"
loader.env.PATH = "/bin:/usr/bin"
loader.debug_type = "$(GRAPHENEDEBUG)"
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"
libos.entrypoint = "file:/usr/bin/gcc"

# Read application arguments directly from the command line. Don't use this on production!
Expand Down
6 changes: 3 additions & 3 deletions Examples/lighttpd/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ GRAPHENEDIR ?= $(THIS_DIR)../..
SGX_SIGNER_KEY ?= $(GRAPHENEDIR)/Pal/src/host/Linux-SGX/signer/enclave-key.pem

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

CONF_FILES = lighttpd-server.conf lighttpd.conf
Expand Down Expand Up @@ -62,7 +62,7 @@ trusted-libs: ../common_tools/get_deps.sh $(INSTALL_DIR)/sbin/lighttpd

lighttpd.manifest: lighttpd.manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(INSTALL_DIR)|'"$(INSTALL_DIR)"'|g' \
-e 's|$$(INSTALL_DIR_ABSPATH)|'"$(abspath $(INSTALL_DIR))"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
Expand Down
7 changes: 4 additions & 3 deletions Examples/lighttpd/lighttpd.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@

libos.entrypoint = "file:$(INSTALL_DIR)/sbin/lighttpd"

# Graphene environment, including the path of the library OS and the debug
# option (inline/none).
# Path to the library OS
loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"
loader.debug_type = "$(GRAPHENEDEBUG)"

# Graphene log level
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

# Read application arguments directly from the command line. Don't use this on production!
loader.insecure__use_cmdline_argv = 1
Expand Down
6 changes: 3 additions & 3 deletions Examples/memcached/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ $(error This example requires Ubuntu 16.04 or 18.04)
endif

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand Down Expand Up @@ -65,7 +65,7 @@ $(SRCDIR)/memcached: $(SRCDIR)/configure

memcached.manifest: memcached.manifest.template
sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
-e 's|# \['"$(UBUNTU_VER)"'\] ||g' \
$< > $@
Expand Down
9 changes: 5 additions & 4 deletions Examples/memcached/memcached.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@ loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"
# Binary to run.
libos.entrypoint = "file:memcached"

# Show/hide debug log of Graphene ("inline" or "none" respectively). Note that
# GRAPHENEDEBUG macro is expanded to inline/none in the Makefile as part of the
# build process.
loader.debug_type = "$(GRAPHENEDEBUG)"
# Verbosity of Graphene debug log (none/error/info/debug/trace/all). Note that
# GRAPHENE_LOG_LEVEL macro is expanded in the Makefile as part of the building
# process: the default is "error" for non-debug builds, and "debug" for debug
# builds.
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

################################# ARGUMENTS ###################################

Expand Down
6 changes: 3 additions & 3 deletions Examples/nginx/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ GRAPHENEDIR ?= $(THIS_DIR)../..
SGX_SIGNER_KEY ?= $(GRAPHENEDIR)/Pal/src/host/Linux-SGX/signer/enclave-key.pem

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand Down Expand Up @@ -72,7 +72,7 @@ trusted-libs: ../common_tools/get_deps.sh $(INSTALL_DIR)/sbin/nginx

nginx.manifest: nginx.manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(INSTALL_DIR)|'"$(INSTALL_DIR)"'|g' \
-e 's|$$(INSTALL_DIR_ABSPATH)|'"$(abspath $(INSTALL_DIR))"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
Expand Down
7 changes: 4 additions & 3 deletions Examples/nginx/nginx.manifest.template
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@

libos.entrypoint = "file:$(INSTALL_DIR)/sbin/nginx"

# Graphene environment, including the path to the library OS and the debug
# option (inline/none).
# Path to the library OS
loader.preload = "file:$(GRAPHENEDIR)/Runtime/libsysdb.so"
loader.debug_type = "$(GRAPHENEDEBUG)"

# Graphene log level
loader.log_level = "$(GRAPHENE_LOG_LEVEL)"

# Read application arguments directly from the command line. Don't use this on production!
loader.insecure__use_cmdline_argv = 1
Expand Down
6 changes: 3 additions & 3 deletions Examples/nodejs-express-server/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ GRAPHENEDIR ?= ../..
SGX_SIGNER_KEY ?= $(GRAPHENEDIR)/Pal/src/host/Linux-SGX/signer/enclave-key.pem

ifeq ($(DEBUG),1)
GRAPHENEDEBUG = inline
GRAPHENE_LOG_LEVEL = debug
else
GRAPHENEDEBUG = none
GRAPHENE_LOG_LEVEL = error
endif

.PHONY: all
Expand All @@ -37,7 +37,7 @@ trusted-libs: ../common_tools/get_deps.sh

nodejs.manifest: nodejs.manifest.template trusted-libs
(sed -e 's|$$(GRAPHENEDIR)|'"$(GRAPHENEDIR)"'|g' \
-e 's|$$(GRAPHENEDEBUG)|'"$(GRAPHENEDEBUG)"'|g' \
-e 's|$$(GRAPHENE_LOG_LEVEL)|'"$(GRAPHENE_LOG_LEVEL)"'|g' \
-e 's|$$(NODEJS_DIR)|'"$(NODEJS_DIR)"'|g' \
-e 's|$$(ARCH_LIBDIR)|'"$(ARCH_LIBDIR)"'|g' \
$<; \
Expand Down
Loading

0 comments on commit 17ab04d

Please sign in to comment.