Patch to fix bad definition of smb_library

Matthieu Patou mat+Informatique.Samba at matws.net
Thu Feb 4 02:48:41 MST 2010


Hello,

I saw on IRC that tridge is not ok with this patch as it conflicts with 
s3 (ie. source3/configure.in).


But even without this patch we have a definition conflict between s4 and s3.

s3 definition for smb_library is:


dnl SMB_LIBRARY(name, version, default, reason)
dnl
dnl configure build and use of an (internal) shared library
dnl
AC_DEFUN([SMB_LIBRARY],
[
m4_pushdef([LIBNAME], [lib$1])
m4_pushdef([LIBUC], [m4_toupper(LIBNAME)])
m4_pushdef([LIBLIBS], [-l$1])

LIBUC[_SHARED_TARGET]=bin/LIBNAME.$SHLIBEXT
LIBUC[_STATIC_TARGET]=bin/LIBNAME.a
LIBUC[_SHARED]=
LIBUC[_STATIC]=
LIBUC[_LIBS]=LIBLIBS
LIBUC[_TARGET]=
[INSTALL_]LIBUC=
[UNINSTALL_]LIBUC=

whereas s4 definition is:

dnl SMB_LIBRARY(name,obj_files,required_subsystems,cflags,ldflags)
AC_DEFUN([SMB_LIBRARY],
[
MAKE_SETTINGS="$MAKE_SETTINGS
$1_CFLAGS = $6
$1_LDFLAGS = $7
n1_ENABLE = YES
$1_OBJ_FILES = $2



so for instance in s3 a call to smb_library will have the following format:
SMB_LIBRARY(addns, 0, no, [undefined API]) (ie. configure.in)
and in s4 it will be:
     SMB_LIBRARY(nss_winbind,
           [../nsswitch/winbind_nss_linux.o],
           [LIBWINBIND-CLIENT]) (ie. nsswitch/config.m4)


In fact it looks like the SMB_LIBRARY is not too used in the common code 
nor in s4 so we could fix the definition of smb_library to

dnl 
SMB_LIBRARY(name,obj_files,default,reason,required_subsystems,cflags,ldflags) 
so that it match both usage.


On 28/01/2010 00:38, Matthieu Patou wrote:
> Hello metze and jelmer,
>
> Please find attached a very simple patch to fix the smb_library macro
> that is broken.
>
>
> Matthieu



More information about the samba-technical mailing list