libpurple/meson.build

branch
meson
changeset 38473
919d72c1c8c0
parent 38472
1f332f8141f4
child 38476
346f071df156
--- a/libpurple/meson.build	Thu Sep 01 01:20:19 2016 -0400
+++ b/libpurple/meson.build	Thu Sep 01 19:19:38 2016 -0400
@@ -245,7 +245,9 @@
 
 marshallers = gnome.genmarshal('marshallers',
     sources : 'marshallers.list',
-    prefix : 'purple_smarshal')
+    prefix : 'purple_smarshal',
+    install_header : true,
+    install_dir : get_option('includedir') + '/libpurple')
 marshallers_c = marshallers[0]
 marshallers_h = marshallers[1]
 
@@ -277,7 +279,7 @@
 purple_builtheaders = [
 	purple_h,
 	version_h,
-	enums_h,  # FIXME: Custom targets don't work as dependencies.
+	enums_h,
 	marshallers_h
 ]
 
@@ -362,45 +364,49 @@
                                command : [python, dbus_analyze_signals, '-o', '@OUTPUT@',
                                           '@INPUT@'])
 
-# Automatic?
-#dbus-server.$(OBJEXT): dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
-#dbus-server.lo: dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
-#$(libpurple_la_OBJECTS): dbus-types.h
-
 
 # libpurple-client
 
 purple_client_bindings_c = custom_target('purple_client_bindings_c',
                                          input : dbus_exported,
                                          output : 'purple-client-bindings.c',
-                                         command : [python, meson.current_source_dir() + '/dbus-analyze-functions.py',
+                                         command : [python, dbus_analyze_functions,
                                                     '--client', '-o', '@OUTPUT@', '@INPUT@'])
 
-#purple-client-bindings.h: dbus-analyze-types.py dbus-analyze-functions.py $(purple_coreheaders) $(addprefix ciphers/, $(purple_cipherheaders)) $(addprefix media/, $(purple_mediaheaders)) $(purple_builtheaders) $(dbus_exported)
-#	$(PYTHON) $(srcdir)/dbus-analyze-types.py --keyword=enum --verbatim -o $@ $(purple_build_coreheaders)
-#	$(PYTHON) $(srcdir)/dbus-analyze-functions.py --client --headers --append -o $@ $(dbus_exported)
-#FIXME: Don't know how to run multiple commands like this.
-#purple_client_bindings_h = custom_target('purple_client_bindings_h',
-#                                         input : [purple_build_coreheaders, dbus_exported],
-#                                         output : 'purple-client-bindings.h',
-#                                         command : [
-#                                             python, meson.current_source_dir() + '/dbus-analyze-types.py',
-#                                              '--keyword=enum', '--verbatim', '-o', '@OUTPUT@', '@INPUT0@', '&&',
-#                                             python, meson.current_source_dir() + '/dbus-analyze-functions.py',
-#                                              '--client', '--headers', '--append', '-o', '@OUTPUT@', '@INPUT1@']
-#                                         )
+purple_client_bindings_h1 = custom_target('purple_client_bindings_h1',
+    input : purple_build_coreheaders,
+    output : 'purple-client-bindings1.h',
+    command : [
+        python, dbus_analyze_types,
+         '--keyword=enum', '--verbatim', '-o', '@OUTPUT@', '@INPUT@'
+    ]
+)
 
-# Automatic?
-#$(libpurple_client_la_OBJECTS): purple-client-bindings.h purple-client-bindings.c
+purple_client_bindings_h2 = custom_target('purple_client_bindings_h2',
+    input : dbus_exported,
+    output : 'purple-client-bindings2.h',
+    command : [
+        python, dbus_analyze_functions,
+         '--client', '--headers', '-o', '@OUTPUT@', '@INPUT@'
+    ]
+)
 
-#libpurple_client = library('purple-client', 'purple-client.c',
-#                           soversion : purple_lt_current,
-#                           version : PURPLE_LT_VERSION_INFO,
-#                           dependencies : [dbus, dbus_glib])
+purple_client_bindings_h = custom_target('purple_client_bindings_h',
+    input : [purple_client_bindings_h1, purple_client_bindings_h2],
+    output : 'purple-client-bindings.h',
+    capture : true,
+    command : ['cat', '@INPUT@'])
+
+libpurple_client = library('purple-client', 'purple-client.c',
+    soversion : purple_lt_current,
+    version : PURPLE_LT_VERSION_INFO,
+    dependencies : [dbus, dbus_glib],
+    install : true)
 
 # scripts
 
-#bin_SCRIPTS = purple-remote purple-send purple-send-async purple-url-handler
+install_data(['purple-remote', 'purple-send', 'purple-send-async', 'purple-url-handler'],
+    install_dir : get_option('bindir'))
 
 else
 
@@ -430,18 +436,14 @@
 
 # purple-client-example
 
-#purple_client_example = executable('purple-client-example',
-#                                   'purple-client-example.c',
-#                                   link_with : [libpurple_client, libpurple],
-#                                   dependencies : [dbus, dbus_glib, glib])
+purple_client_example = executable('purple-client-example',
+    'purple-client-example.c',
+    link_with : [libpurple_client, libpurple],
+    dependencies : [dbus, dbus_glib, glib],
+    install : true)
 
 endif
 
-#noinst_HEADERS= \
-#	internal.h \
-#	media/backend-fs2.h \
-#	valgrind.h
-
 install_headers(purple_coreheaders + dbus_headers,
                 subdir : 'libpurple')
 
@@ -457,6 +459,22 @@
                install : true,
                install_dir : get_option('libdir') + '/pkgconfig')
 
+if INSTALL_I18N
+	DESKTOP_FILE = 'purple-url-handler.desktop'
+	desktop_file_in = configure_file(
+	    input : 'data/' + DESKTOP_FILE + '.in.in',
+	    output : DESKTOP_FILE + '.in',
+	    configuration : conf)
+	desktop_file = custom_target(DESKTOP_FILE,
+	    input : desktop_file_in,
+	    output : DESKTOP_FILE,
+	    command : [intltool_merge, '--desktop-style', '-u',
+	               '-c', '@BUILD_DIR@/po/.intltool-merge-cache',
+	               meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'],
+	    install : true,
+	    install_dir : get_option('datadir') + '/applications')
+endif  # INSTALL_I18N
+
 if enable_introspection
 	introspection_sources = (purple_coreheaders + purple_builtheaders +
 	                         dbus_headers + purple_cipherheaders +

mercurial