Change internal name dist -> disk.
[dcpomatic.git] / wscript
diff --git a/wscript b/wscript
index 03e75657a3d835c4017c3e07ec7e11848c14457e..825bd2ae3378d661f7a5f3624857b227d1b85f93 100644 (file)
--- a/wscript
+++ b/wscript
@@ -74,7 +74,7 @@ def options(opt):
     opt.add_option('--force-cpp11',       action='store_true', default=False, help='force use of C++11')
     opt.add_option('--variant',           help='build variant (swaroop-studio, swaroop-theater)', choices=['swaroop-studio', 'swaroop-theater'])
     opt.add_option('--use-lld',           action='store_true', default=False, help='use lld linker')
-    opt.add_option('--enable-dist',       action='store_true', default=False, help='build dcpomatic2_dist tool; requires Boost process and lwext4 libraries')
+    opt.add_option('--enable-disk',       action='store_true', default=False, help='build dcpomatic2_disk tool; requires Boost process and lwext4 libraries')
 
 def configure(conf):
     conf.load('compiler_cxx')
@@ -91,7 +91,7 @@ def configure(conf):
     conf.env.VERSION = VERSION
     conf.env.DEBUG = conf.options.enable_debug
     conf.env.STATIC_DCPOMATIC = conf.options.static_dcpomatic
-    conf.env.ENABLE_DIST = conf.options.enable_dist
+    conf.env.ENABLE_DISK = conf.options.enable_disk
     if conf.options.install_prefix is None:
         conf.env.INSTALL_PREFIX = conf.env.PREFIX
     else:
@@ -169,8 +169,9 @@ def configure(conf):
         conf.check(lib='dsound', uselib_store='DSOUND', msg="Checking for library dsound")
         conf.check(lib='winmm', uselib_store='WINMM', msg="Checking for library winmm")
         conf.check(lib='ksuser', uselib_store='KSUSER', msg="Checking for library ksuser")
+        conf.check(lib='setupapi', uselib_store='SETUPAPI', msg="Checking for library setupapi")
         boost_lib_suffix = '-mt'
-        boost_thread = 'boost_thread_win32-mt'
+        boost_thread = 'boost_thread-mt'
         conf.check_cxx(fragment="""
                                #include <boost/locale.hpp>\n
                                int main() { std::locale::global (boost::locale::generator().generate ("")); }\n
@@ -369,7 +370,7 @@ def configure(conf):
     conf.check_cfg(package='libpng', args='--cflags --libs', uselib_store='PNG', mandatory=True)
 
     # lwext4
-    if conf.options.enable_dist:
+    if conf.options.enable_disk:
         conf.check_cxx(fragment="""
                                 #include <lwext4/ext4.h>\n
                                 int main() { ext4_mount("ext4_fs", "/mp/", false); }\n
@@ -379,9 +380,14 @@ def configure(conf):
                                 lib=['lwext4', 'blockdev'],
                                 uselib_store='LWEXT4')
 
-    if conf.env.TARGET_LINUX and conf.options.enable_dist:
+    if conf.env.TARGET_LINUX and conf.options.enable_disk:
         conf.check_cfg(package='polkit-gobject-1', args='--cflags --libs', uselib_store='POLKIT', mandatory=True)
 
+    # nanomsg
+    if conf.options.enable_disk:
+        if conf.check_cfg(package='nanomsg', args='--cflags --libs', uselib_store='NANOMSG', mandatory=False) is None:
+            conf.check_cfg(package='libnanomsg', args='--cflags --libs', uselib_store='NANOMSG', mandatory=True)
+
     # FFmpeg
     if conf.options.static_ffmpeg:
         names = ['avformat', 'avfilter', 'avcodec', 'avutil', 'swscale', 'postproc', 'swresample']
@@ -528,13 +534,17 @@ def configure(conf):
 
         # Really just checking for the header here (there's no associated library) but the test
         # program has to link with boost_system so I'm doing it this way.
-        if conf.options.enable_dist:
+        if conf.options.enable_disk:
+            deps = ['boost_system%s' % boost_lib_suffix]
+            if conf.env.TARGET_WINDOWS:
+                deps.append('ws2_32')
+                deps.append('boost_filesystem%s' % boost_lib_suffix)
             conf.check_cxx(fragment="""
                                 #include <boost/process.hpp>\n
                                 int main() { boost::process::child* c = new boost::process::child("foo"); }\n
                                 """,
                            msg='Checking for boost process library',
-                           lib=['boost_system%s' % boost_lib_suffix],
+                           lib=deps,
                            uselib_store='BOOST_PROCESS')
 
     # libxml++ requires glibmm and versions of glibmm 2.45.31 and later
@@ -685,7 +695,7 @@ def post(ctx):
     if ctx.cmd == 'install' and ctx.env.TARGET_LINUX:
         ctx.exec_command('/sbin/ldconfig')
         # setuid root executables
-        for e in ['dcpomatic2_uuid', 'dcpomatic2_dist_writer']:
+        for e in ['dcpomatic2_uuid', 'dcpomatic2_disk_writer']:
             # I can't find anything which tells me where things have been installed to,
             # so here's some nasty hacks to guess.
             debian = os.path.join(ctx.out_dir, '../debian/dcpomatic/usr/bin/%s' % e)