[SCM] Samba Shared Repository - branch master updated

Christian Ambach ambi at samba.org
Fri Jan 17 11:31:04 MST 2014


The branch, master has been updated
       via  da891e2 waf:lib/replace gettext configure checks
       via  31db0c8 waf:lib/replace fix gettext detection
       via  a83f491 waf:lib/replace change detection of gettext
       via  df6ddcf waf:lib/replace fix up libintl related checks
       via  1a42ff7 waf:lib/replace correct detection of libiconv
       via  15b2d1a waf: improve iconv checks
      from  c20753c selftest: Use the absolute path to libnss_winbind.so.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit da891e2101c568d2f0b9a2bda78702826ea68f3c
Author: Christian Ambach <ambi at samba.org>
Date:   Thu Jul 25 19:41:02 2013 +0200

    waf:lib/replace gettext configure checks
    
    Make sure we only try to work with gettext if we found
    the prototypes and were able to link
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911
    
    Signed-off-by: Christian Ambach <ambi at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Christian Ambach <ambi at samba.org>
    Autobuild-Date(master): Fri Jan 17 19:30:33 CET 2014 on sn-devel-104

commit 31db0c8acdd68f396417e1f6504a91a40295bc89
Author: Christian Ambach <ambi at samba.org>
Date:   Thu Dec 12 22:10:36 2013 +0100

    waf:lib/replace fix gettext detection
    
    if the user has specified a path for gettext, add it to CFLAGS and LDFLAGS
    so we can find it during configure and build
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911
    
    Signed-off-by: Christian Ambach <ambi at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit a83f491810d34cc8b6eb4b0f40bbbb1440e0f84d
Author: Christian Ambach <ambi at samba.org>
Date:   Thu Dec 12 22:12:07 2013 +0100

    waf:lib/replace change detection of gettext
    
    convert this to an automatic check: if no option is given, try to find gettext
    and if found, use it
    if user has specified --with-gettext, then bail out if it could not be found
    in case of --without-gettext, skip all gettext related configure checks
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911
    
    Signed-off-by: Christian Ambach <ambi at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit df6ddcfbfcd33274c1b768ce26829b0ad9278cd0
Author: Christian Ambach <ambi at samba.org>
Date:   Thu Jan 2 22:23:16 2014 +0100

    waf:lib/replace fix up libintl related checks
    
    on a default installation of AIX, libintl.a exists but
    libintl.h does not
    So check for the declarations of those functions as well
    to make sure that the build works.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911
    
    Signed-off-by: Christian Ambach <ambi at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 1a42ff7d8db63b26e2beb43268a1c4664723358e
Author: Christian Ambach <ambi at samba.org>
Date:   Thu Jan 2 23:28:20 2014 +0100

    waf:lib/replace correct detection of libiconv
    
    add -liconv as a complete command line argument,
    not all characters on their own
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911
    
    Signed-off-by: Christian Ambach <ambi at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 15b2d1a658b3fc428c20a7a461168f464951f40f
Author: Christian Ambach <ambi at samba.org>
Date:   Wed Dec 4 22:50:11 2013 +0100

    waf: improve iconv checks
    
    there are broken iconv implementations around (e.g. on AIX) that you
    can compile against but that refuse any mapping requests
    
    make sure we do the same as the autoconf-based build did and
    fall back to our own code
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=10308
    
    Signed-off-by: Christian Ambach <ambi at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/wscript |    3 +--
 lib/replace/wscript         |   28 +++++++++++++++++++++++-----
 source3/build/charset.py    |    6 ++++++
 3 files changed, 30 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index fe2e515..7984227 100755
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -80,8 +80,7 @@ def set_options(opt):
                    match = ['Checking for library iconv', 'Checking for iconv_open', 'Checking for header iconv.h'])
     opt.add_option('--with-gettext',
                    help='additional directory to search for gettext',
-                   action='store', dest='gettext_location', default='/usr/local',
-                   match = ['Checking for library intl', 'Checking for header libintl.h'])
+                   action='store', dest='gettext_location', default='None')
     opt.add_option('--without-gettext',
                    help=("Disable use of gettext"),
                    action="store_true", dest='disable_gettext', default=False)
diff --git a/lib/replace/wscript b/lib/replace/wscript
index a316032..ab95018 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -367,10 +367,19 @@ removeea setea
                         headers='netinet/in.h arpa/nameser.h resolv.h')
 
 
+    # try to find libintl (if --without-gettext is not given)
     conf.env.intl_libs=''
     if not Options.options.disable_gettext:
+        # any extra path given to look at?
+        if not Options.options.gettext_location == 'None':
+           conf.env['CFLAGS'].extend(["-I%s" % Options.options.gettext_location]);
+           conf.env['LDFLAGS'].extend(["-L%s" % Options.options.gettext_location]);
+        else:
+           conf.env['CFLAGS'].extend(["-I/usr/local"]);
+           conf.env['LDFLAGS'].extend(["-L/usr/local"]);
         conf.CHECK_HEADERS('libintl.h')
         conf.CHECK_LIB('intl')
+        conf.CHECK_DECLS('dgettext gettext bindtextdomain textdomain bind_textdomain_codeset', headers="libintl.h")
         # *textdomain functions are not strictly necessary
         conf.CHECK_FUNCS_IN('bindtextdomain textdomain bind_textdomain_codeset',
                             '', checklibc=True, headers='libintl.h')
@@ -390,17 +399,26 @@ removeea setea
             # Some hosts need lib iconv for linking with lib intl
             # So we try with flags just in case it helps.
             oldflags = conf.env['EXTRA_LDFLAGS'];
-            conf.env['EXTRA_LDFLAGS'].extend("-liconv")
+            conf.env['EXTRA_LDFLAGS'].extend(["-liconv"])
             conf.CHECK_FUNCS_IN('dgettext gettext bindtextdomain textdomain bind_textdomain_codeset',
                                 'intl', checklibc=False, headers='libintl.h')
             conf.env['EXTRA_LDFLAGS'] = oldflags
             if conf.env['HAVE_GETTEXT'] and conf.env['HAVE_DGETTEXT']:
                 # save for dependency definitions
                 conf.env.intl_libs='iconv intl'
-            else:
-                conf.fatal('library gettext not found, try specifying the path to ' +
-                           'it with --with-gettext=</path/to/gettext> or ' +
-                           '--without-gettext to build without''')
+
+    # did we find both prototypes and a library to link against?
+    # if not, unset the detected values (see Bug #9911)
+    if not (conf.env['HAVE_GETTEXT'] and conf.env['HAVE_DECL_GETTEXT']):
+       conf.undefine('HAVE_GETTEXT')
+       conf.undefine('HAVE_DECL_GETTEXT')
+    if not (conf.env['HAVE_DGETTEXT'] and conf.env['HAVE_DECL_DGETTEXT']):
+       conf.undefine('HAVE_DGETTEXT')
+       conf.undefine('HAVE_DECL_DGETTEXT')
+
+    # did the user insist on gettext (--with-gettext)?
+    if Options.options.gettext_location != 'None' and (not conf.env['HAVE_GETTEXT'] or not conf.env['HAVE_DGETTEXT']):
+        conf.fatal('library gettext not found at specified location')
 
     conf.CHECK_FUNCS_IN('pthread_create', 'pthread', checklibc=True, headers='pthread.h')
 
diff --git a/source3/build/charset.py b/source3/build/charset.py
index 44852a6..0033557 100644
--- a/source3/build/charset.py
+++ b/source3/build/charset.py
@@ -33,6 +33,12 @@ def CHECK_SAMBA3_CHARSET(conf, crossbuild=False):
 	    default_unix_charset="UTF-8"
             # TODO: this used to warn about the set charset on cross builds
 
+        if default_dos_charset is False or default_unix_charset is False:
+        # we found iconv, but it failed to convert anything (e.g. on AIX)
+            conf.undefine('HAVE_NATIVE_ICONV');
+            default_dos_charset = "ASCII"
+            default_unix_charset = "UTF-8"
+
         conf.DEFINE('DEFAULT_DOS_CHARSET', default_dos_charset, quote=True)
         conf.DEFINE('DEFAULT_UNIX_CHARSET', default_unix_charset, quote=True)
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list