build: initialize building system
diff --git a/wscript b/wscript
new file mode 100644
index 0000000..a9d1509
--- /dev/null
+++ b/wscript
@@ -0,0 +1,88 @@
+# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
+
+"""
+Copyright (c) 2014-2015, Regents of the University of California
+
+This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
+See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+
+ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+of the GNU General Public License as published by the Free Software Foundation,
+either version 3 of the License, or (at your option) any later version.
+
+ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+ndn-group-encrypt, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
+"""
+
+VERSION = "0.0.1"
+APPNAME = "libndn-group-encrypt"
+BUGREPORT = "http://redmine.named-data.net/projects/gep"
+URL = "http://named-data.net/doc/ndn-group-encrypt/"
+GIT_TAG_PREFIX = "NDN-GROUP-ENCRYPT"
+
+from waflib import Logs, Utils, Context
+import os
+
+def options(opt):
+ opt.load(['compiler_c', 'compiler_cxx', 'gnu_dirs'])
+ opt.load(['boost', 'default-compiler-flags'],
+ tooldir=['.waf-tools'])
+
+ syncopt = opt.add_option_group ("NDN-GROUP-ENCRYPT Options")
+
+ syncopt.add_option('--debug', action='store_true', default=False, dest='debug',
+ help='''debugging mode''')
+ syncopt.add_option('--with-tests', action='store_true', default=False, dest='_tests',
+ help='''build unit tests''')
+
+def configure(conf):
+ conf.load(['compiler_c', 'compiler_cxx', 'gnu_dirs', 'boost', 'default-compiler-flags'])
+
+ conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'],
+ uselib_store='NDN_CXX', mandatory=True)
+
+ boost_libs = 'system iostreams'
+ if conf.options._tests:
+ conf.env['NDN_GEP_HAVE_TESTS'] = 1
+ conf.define('NDN_GEP_HAVE_TESTS', 1);
+ boost_libs += ' unit_test_framework'
+
+ conf.check_boost(lib=boost_libs)
+
+ conf.write_config_header('config.hpp')
+
+def build(bld):
+ libndn_group_encrypt = bld(
+ target="libndn-group-encrypt",
+ # vnum = "0.0.1",
+ features=['cxx', 'cxxshlib'],
+ source = bld.path.ant_glob(['src/**/*.cpp']),
+ use = 'BOOST NDN_CXX',
+ includes = ['src', '.'],
+ export_includes=['src', '.'],
+ )
+
+ # Unit tests
+ if bld.env["NDN_GEP_HAVE_TESTS"]:
+ bld.recurse('tests')
+
+ bld.install_files(
+ dest = "%s/ndn-group-encrypt" % bld.env['INCLUDEDIR'],
+ files = bld.path.get_bld().ant_glob(['src/**/*.hpp', 'common.hpp', 'config.hpp']),
+ cwd = bld.path.get_bld().find_dir("src"),
+ relative_trick = False,
+ )
+
+ pc = bld(
+ features = "subst",
+ source='ndn-group-encrypt.pc.in',
+ target='ndn-group-encrypt.pc',
+ install_path = '${LIBDIR}/pkgconfig',
+ PREFIX = bld.env['PREFIX'],
+ INCLUDEDIR = "%s/ndn-group-encrypt" % bld.env['INCLUDEDIR'],
+ VERSION = VERSION,
+ )