diff options
author | Mayank Sharma <mayank8019@gmail.com> | 2019-06-25 11:22:01 +0000 |
---|---|---|
committer | Philip Withnall <philip@tecnocode.co.uk> | 2019-06-25 11:22:01 +0000 |
commit | d3ba69233a9ef1f415b10efc44ea186a6d58a2bb (patch) | |
tree | 5913ab8a6964f1ef051e1e166b25f882d9e31064 /gdata/services | |
parent | b3a53c046bcc6b7add73860839b55da456212fa3 (diff) | |
download | libgdata-d3ba69233a9ef1f415b10efc44ea186a6d58a2bb.tar.gz |
build: Port from Autotools to meson
Automake 1.16.1 has issues with generating a valid Makefile. Since,
libgdata is one of the core-deps of GNOME, it should be ported from
Autotools + make to meson + ninja.
Significant contributions from both Iñigo Martínez and Mayank Sharma.
Diffstat (limited to 'gdata/services')
-rw-r--r-- | gdata/services/calendar/meson.build | 24 | ||||
-rw-r--r-- | gdata/services/contacts/meson.build | 20 | ||||
-rw-r--r-- | gdata/services/documents/meson.build | 73 | ||||
-rw-r--r-- | gdata/services/freebase/meson.build | 58 | ||||
-rw-r--r-- | gdata/services/meson.build | 7 | ||||
-rw-r--r-- | gdata/services/picasaweb/meson.build | 58 | ||||
-rw-r--r-- | gdata/services/tasks/meson.build | 20 | ||||
-rw-r--r-- | gdata/services/youtube/meson.build | 62 |
8 files changed, 322 insertions, 0 deletions
diff --git a/gdata/services/calendar/meson.build b/gdata/services/calendar/meson.build new file mode 100644 index 00000000..5eaa8165 --- /dev/null +++ b/gdata/services/calendar/meson.build @@ -0,0 +1,24 @@ +headers = files( + 'gdata-calendar-access-rule.h', + 'gdata-calendar-calendar.h', + 'gdata-calendar-event.h', + 'gdata-calendar-feed.h', + 'gdata-calendar-query.h', + 'gdata-calendar-service.h', +) + +install_headers( + headers, + subdir: gdata_include_subdir / 'services/calendar', +) + +gir_headers += headers + +sources += files( + 'gdata-calendar-access-rule.c', + 'gdata-calendar-calendar.c', + 'gdata-calendar-event.c', + 'gdata-calendar-feed.c', + 'gdata-calendar-query.c', + 'gdata-calendar-service.c', +) diff --git a/gdata/services/contacts/meson.build b/gdata/services/contacts/meson.build new file mode 100644 index 00000000..1627a7e4 --- /dev/null +++ b/gdata/services/contacts/meson.build @@ -0,0 +1,20 @@ +headers = files( + 'gdata-contacts-contact.h', + 'gdata-contacts-group.h', + 'gdata-contacts-query.h', + 'gdata-contacts-service.h', +) + +install_headers( + headers, + subdir: gdata_include_subdir / 'services/contacts', +) + +gir_headers += headers + +sources += files( + 'gdata-contacts-contact.c', + 'gdata-contacts-group.c', + 'gdata-contacts-query.c', + 'gdata-contacts-service.c', +) diff --git a/gdata/services/documents/meson.build b/gdata/services/documents/meson.build new file mode 100644 index 00000000..6ff2bec1 --- /dev/null +++ b/gdata/services/documents/meson.build @@ -0,0 +1,73 @@ +incs += include_directories('.') + +include_subdir = gdata_include_subdir / 'services/documents' + +headers = files( + 'gdata-documents-access-rule.h', + 'gdata-documents-document.h', + 'gdata-documents-drawing.h', + 'gdata-documents-entry.h', + 'gdata-documents-feed.h', + 'gdata-documents-folder.h', + 'gdata-documents-metadata.h', + 'gdata-documents-pdf.h', + 'gdata-documents-presentation.h', + 'gdata-documents-query.h', + 'gdata-documents-service.h', + 'gdata-documents-spreadsheet.h', + 'gdata-documents-text.h', + 'gdata-documents-upload-query.h', +) + +install_headers( + headers, + subdir: include_subdir, +) + +gir_headers += headers + +sources += files( + 'gdata-documents-access-rule.c', + 'gdata-documents-document.c', + 'gdata-documents-drawing.c', + 'gdata-documents-entry.c', + 'gdata-documents-feed.c', + 'gdata-documents-folder.c', + 'gdata-documents-metadata.c', + 'gdata-documents-pdf.c', + 'gdata-documents-presentation.c', + 'gdata-documents-query.c', + 'gdata-documents-service.c', + 'gdata-documents-spreadsheet.c', + 'gdata-documents-text.c', + 'gdata-documents-upload-query.c', + 'gdata-documents-utils.c', +) + +enums = 'gdata-documents-enums' + +# FIXME: Work around the namespace being incorrectly detected +# by glib-mkenums. This needs to be fixed by changing the +# namespace in libgdata. See !6. +enums_in = gnome.mkenums_simple( + enums + '-in', + sources: headers, +) + +sources += custom_target( + enums + '.c', + input: enums_in[0], + output: enums + '.c', + command: enum_source_cmd, + capture: true, +) + +enum_headers += custom_target( + enums + '.h', + input: enums_in[1], + output: enums + '.h', + command: enum_header_cmd, + capture: true, + install: true, + install_dir: gdata_includedir / include_subdir, +) diff --git a/gdata/services/freebase/meson.build b/gdata/services/freebase/meson.build new file mode 100644 index 00000000..7ed419a4 --- /dev/null +++ b/gdata/services/freebase/meson.build @@ -0,0 +1,58 @@ +incs += include_directories('.') + +include_subdir = gdata_include_subdir / 'services/freebase' + +headers = files( + 'gdata-freebase-query.h', + 'gdata-freebase-result.h', + 'gdata-freebase-search-query.h', + 'gdata-freebase-search-result.h', + 'gdata-freebase-service.h', + 'gdata-freebase-topic-query.h', + 'gdata-freebase-topic-result.h', +) + +install_headers( + headers, + subdir: include_subdir, +) + +gir_headers += headers + +sources += files( + 'gdata-freebase-query.c', + 'gdata-freebase-result.c', + 'gdata-freebase-search-query.c', + 'gdata-freebase-search-result.c', + 'gdata-freebase-service.c', + 'gdata-freebase-topic-query.c', + 'gdata-freebase-topic-result.c', +) + +enums = 'gdata-freebase-enums' + +enums_in = gnome.mkenums_simple( + enums + '-in', + sources: headers, +) + +# FIXME: Work around the namespace being incorrectly detected +# by glib-mkenums. This needs to be fixed by changing the +# namespace in libgdata. See !6. +sources += custom_target( + enums + '.c', + input: enums_in[0], + output: enums + '.c', + command: enum_source_cmd, + capture: true, +) + +enum_headers += custom_target( + enums + '.h', + input: enums_in[1], + output: enums + '.h', + command: enum_header_cmd, + capture: true, + install: true, + install_dir: gdata_includedir / include_subdir, +) diff --git a/gdata/services/meson.build b/gdata/services/meson.build new file mode 100644 index 00000000..f9879c71 --- /dev/null +++ b/gdata/services/meson.build @@ -0,0 +1,7 @@ +subdir('calendar') +subdir('contacts') +subdir('documents') +subdir('freebase') +subdir('picasaweb') +subdir('tasks') +subdir('youtube') diff --git a/gdata/services/picasaweb/meson.build b/gdata/services/picasaweb/meson.build new file mode 100644 index 00000000..edab0ce5 --- /dev/null +++ b/gdata/services/picasaweb/meson.build @@ -0,0 +1,58 @@ +incs += include_directories('.') + +include_subdir = gdata_include_subdir / 'services/picasaweb' + +headers = files( + 'gdata-picasaweb-album.h', + 'gdata-picasaweb-comment.h', + 'gdata-picasaweb-feed.h', + 'gdata-picasaweb-file.h', + 'gdata-picasaweb-query.h', + 'gdata-picasaweb-service.h', + 'gdata-picasaweb-user.h', +) + +install_headers( + headers, + subdir: include_subdir, +) + +gir_headers += headers + +sources += files( + 'gdata-picasaweb-album.c', + 'gdata-picasaweb-comment.c', + 'gdata-picasaweb-feed.c', + 'gdata-picasaweb-file.c', + 'gdata-picasaweb-query.c', + 'gdata-picasaweb-service.c', + 'gdata-picasaweb-user.c', +) + +enums = 'gdata-picasaweb-enums' + +enums_in = gnome.mkenums_simple( + enums + '-in', + sources: headers, +) + +# FIXME: Work around the namespace being incorrectly detected +# by glib-mkenums. This needs to be fixed by changing the +# namespace in libgdata. See !6. +sources += custom_target( + enums + '.c', + input: enums_in[0], + output: enums + '.c', + command: [sed, '-e', 's/-in//', '-e', 's/g_data_picasa_web/gdata_picasaweb/', build_root / '@INPUT@'], + capture: true, +) + +enum_headers += custom_target( + enums + '.h', + input: enums_in[1], + output: enums + '.h', + command: [sed, '-e', 's/g_data_picasa_web/gdata_picasaweb/', '-e', 's/G_TYPE_DATA_PICASA_WEB/GDATA_TYPE_PICASAWEB/', build_root / '@INPUT@'], + capture: true, + install: true, + install_dir: gdata_includedir / include_subdir, +) diff --git a/gdata/services/tasks/meson.build b/gdata/services/tasks/meson.build new file mode 100644 index 00000000..76ad4238 --- /dev/null +++ b/gdata/services/tasks/meson.build @@ -0,0 +1,20 @@ +headers = files( + 'gdata-tasks-query.h', + 'gdata-tasks-service.h', + 'gdata-tasks-task.h', + 'gdata-tasks-tasklist.h', +) + +install_headers( + headers, + subdir: gdata_include_subdir / 'services/tasks', +) + +gir_headers += headers + +sources += files( + 'gdata-tasks-query.c', + 'gdata-tasks-service.c', + 'gdata-tasks-task.c', + 'gdata-tasks-tasklist.c', +) diff --git a/gdata/services/youtube/meson.build b/gdata/services/youtube/meson.build new file mode 100644 index 00000000..84b21237 --- /dev/null +++ b/gdata/services/youtube/meson.build @@ -0,0 +1,62 @@ +incs += include_directories('.') + +include_subdir = gdata_include_subdir / 'services/youtube' + +headers = files( + 'gdata-youtube-category.h', + 'gdata-youtube-comment.h', + 'gdata-youtube-content.h', + 'gdata-youtube-credit.h', + 'gdata-youtube-feed.h', + 'gdata-youtube-query.h', + 'gdata-youtube-service.h', + 'gdata-youtube-state.h', + 'gdata-youtube-video.h', +) + +install_headers( + headers, + subdir: include_subdir, +) + +gir_headers += headers + +sources += files( + 'gdata-youtube-category.c', + 'gdata-youtube-comment.c', + 'gdata-youtube-content.c', + 'gdata-youtube-credit.c', + 'gdata-youtube-feed.c', + 'gdata-youtube-query.c', + 'gdata-youtube-service.c', + 'gdata-youtube-state.c', + 'gdata-youtube-video.c', +) + +enums = 'gdata-youtube-enums' + +enums_in = gnome.mkenums_simple( + enums + '-in', + sources: headers, +) + +# FIXME: Work around the namespace being incorrectly detected +# by glib-mkenums. This needs to be fixed by changing the +# namespace in libgdata. See !6. +sources += custom_target( + enums + '.c', + input: enums_in[0], + output: enums + '.c', + command: [sed, '-e', 's/-in//', '-e', 's/g_data_you_tube/gdata_youtube/', build_root / '@INPUT@'], + capture: true, +) + +enum_headers += custom_target( + enums + '.h', + input: enums_in[1], + output: enums + '.h', + command: [sed, '-e', 's/g_data_you_tube/gdata_youtube/', '-e', 's/G_TYPE_DATA_YOU_TUBE/GDATA_TYPE_YOUTUBE/', build_root / '@INPUT@'], + capture: true, + install: true, + install_dir: gdata_includedir / include_subdir, +) |