xref: /OK3568_Linux_fs/buildroot/package/libglib2/0002-remove-cpp-requirement.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom 2f168951df1feebeac549ada1ea44ea092484c54 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Adam Duskett <Aduskett@gmail.com>
3*4882a593SmuzhiyunDate: Mon, 16 Sep 2019 10:12:38 -0700
4*4882a593SmuzhiyunSubject: [PATCH] remove cpp requirement
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunThe c++ test is necessary to ensure libglib doesn't accidentally use C++
7*4882a593Smuzhiyunreserved keywords in public headers. Because this is just a test, it isn't
8*4882a593Smuzhiyunnecessary to have a C++ compiler to build libglib2.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSigned-off-by: Adam Duskett <Aduskett@gmail.com>
11*4882a593SmuzhiyunUpstream status: Denied (Buildroot specific)
12*4882a593Smuzhiyunhttps://gitlab.gnome.org/GNOME/glib/issues/1748
13*4882a593Smuzhiyun---
14*4882a593Smuzhiyun glib/glibconfig.h.in |  1 -
15*4882a593Smuzhiyun meson.build          | 18 +-----------------
16*4882a593Smuzhiyun tests/meson.build    |  5 -----
17*4882a593Smuzhiyun 3 files changed, 1 insertion(+), 23 deletions(-)
18*4882a593Smuzhiyun
19*4882a593Smuzhiyundiff --git a/glib/glibconfig.h.in b/glib/glibconfig.h.in
20*4882a593Smuzhiyunindex 7ef8c48..128e65d 100644
21*4882a593Smuzhiyun--- a/glib/glibconfig.h.in
22*4882a593Smuzhiyun+++ b/glib/glibconfig.h.in
23*4882a593Smuzhiyun@@ -117,7 +117,6 @@ typedef unsigned @glib_intptr_type_define@ guintptr;
24*4882a593Smuzhiyun @glib_vacopy@
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun @g_have_iso_c_varargs@
27*4882a593Smuzhiyun-@g_have_iso_cxx_varargs@
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
30*4882a593Smuzhiyun  * is passed ISO vararg support is turned off, and there is no work
31*4882a593Smuzhiyundiff --git a/meson.build b/meson.build
32*4882a593Smuzhiyunindex 4bbf4c2..ac59f4e 100644
33*4882a593Smuzhiyun--- a/meson.build
34*4882a593Smuzhiyun+++ b/meson.build
35*4882a593Smuzhiyun@@ -1,4 +1,4 @@
36*4882a593Smuzhiyun-project('glib', 'c', 'cpp',
37*4882a593Smuzhiyun+project('glib', 'c',
38*4882a593Smuzhiyun   version : '2.68.4',
39*4882a593Smuzhiyun   # NOTE: We keep this pinned at 0.49 because that's what Debian 10 ships
40*4882a593Smuzhiyun   meson_version : '>= 0.49.2',
41*4882a593Smuzhiyun@@ -10,7 +10,6 @@ project('glib', 'c', 'cpp',
42*4882a593Smuzhiyun )
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun cc = meson.get_compiler('c')
45*4882a593Smuzhiyun-cxx = meson.get_compiler('cpp')
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper()
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun@@ -1679,20 +1678,6 @@ if g_have_iso_c_varargs
50*4882a593Smuzhiyun #endif''')
51*4882a593Smuzhiyun endif
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun-g_have_iso_cxx_varargs = cxx.compiles('''
54*4882a593Smuzhiyun-  void some_func (void) {
55*4882a593Smuzhiyun-    int a(int p1, int p2, int p3);
56*4882a593Smuzhiyun-    #define call_a(...) a(1,__VA_ARGS__)
57*4882a593Smuzhiyun-    call_a(2,3);
58*4882a593Smuzhiyun-  }''', name : 'ISO C99 varargs macros in C++')
59*4882a593Smuzhiyun-
60*4882a593Smuzhiyun-if g_have_iso_cxx_varargs
61*4882a593Smuzhiyun-  glibconfig_conf.set('g_have_iso_cxx_varargs', '''
62*4882a593Smuzhiyun-#ifdef __cplusplus
63*4882a593Smuzhiyun-# define G_HAVE_ISO_VARARGS 1
64*4882a593Smuzhiyun-#endif''')
65*4882a593Smuzhiyun-endif
66*4882a593Smuzhiyun-
67*4882a593Smuzhiyun g_have_gnuc_varargs = cc.compiles('''
68*4882a593Smuzhiyun   void some_func (void) {
69*4882a593Smuzhiyun     int a(int p1, int p2, int p3);
70*4882a593Smuzhiyun@@ -2330,7 +2315,6 @@ subdir('gobject')
71*4882a593Smuzhiyun subdir('gthread')
72*4882a593Smuzhiyun subdir('gmodule')
73*4882a593Smuzhiyun subdir('gio')
74*4882a593Smuzhiyun-subdir('fuzzing')
75*4882a593Smuzhiyun if build_tests
76*4882a593Smuzhiyun   subdir('tests')
77*4882a593Smuzhiyun endif
78*4882a593Smuzhiyundiff --git a/tests/meson.build b/tests/meson.build
79*4882a593Smuzhiyunindex e4ea226..7fd974c 100644
80*4882a593Smuzhiyun--- a/tests/meson.build
81*4882a593Smuzhiyun+++ b/tests/meson.build
82*4882a593Smuzhiyun@@ -55,11 +55,6 @@ tests = {
83*4882a593Smuzhiyun     'source': 'module-test.c',
84*4882a593Smuzhiyun     'c_args': ['-DMODULE_TYPE="plugin"'],
85*4882a593Smuzhiyun   },
86*4882a593Smuzhiyun-  'cxx-test' : {
87*4882a593Smuzhiyun-    'source' : 'cxx-test.cpp',
88*4882a593Smuzhiyun-    'include_directories' : gmoduleinc,
89*4882a593Smuzhiyun-    'dependencies' : [libgio_dep],
90*4882a593Smuzhiyun-  },
91*4882a593Smuzhiyun }
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun test_extra_programs = {
94*4882a593Smuzhiyun--
95*4882a593Smuzhiyun2.23.0
96*4882a593Smuzhiyun
97