from samba_utils import *
import samba_version, samba3
-DCUTIL_SRC = '''libsmb/namequery_dc.c libsmb/trustdom_cache.c libsmb/dsgetdcname.c'''
-
-SMBD_SRC_MAIN = '''smbd/server.c'''
-
-
-
-PRINTING_SRC = '''printing/pcap.c printing/print_svid.c printing/print_aix.c
- printing/print_cups.c printing/print_generic.c
- printing/lpq_parse.c printing/load.c printing/print_standard.c
- printing/print_iprint.c printing/printer_list.c'''
-
-PRINTBASE_SRC = '''printing/notify.c printing/printing_db.c'''
-PRINTBACKEND_SRC = '''printing/printing.c
- printing/nt_printing.c
- printing/nt_printing_tdb.c
- printing/nt_printing_migrate_internal.c
- printing/nt_printing_ads.c
- printing/queue_process.c'''
-
-STATUS_SRC = '''utils/status.c utils/status_profile.c smbd/notify_internal.c'''
-
-SMBCONTROL_SRC = '''utils/smbcontrol.c'''
-
-SMBTREE_SRC = '''utils/smbtree.c'''
-
-TESTPARM_SRC = 'utils/testparm.c'
-
-SMBTA_UTIL_SRC = '''utils/smbta-util.c'''
-
-TEST_LP_LOAD_SRC = '''param/test_lp_load.c'''
-
-PASSWD_UTIL_SRC = 'utils/passwd_util.c'
-
-SMBPASSWD_SRC = '''utils/smbpasswd.c'''
-
-PDBEDIT_SRC = '''utils/pdbedit.c'''
-
-SMBGET_SRC = '''utils/smbget.c'''
-
-RPCCLIENT_SRC1 = '''rpcclient/rpcclient.c rpcclient/cmd_lsarpc.c
- rpcclient/cmd_samr.c rpcclient/cmd_spoolss.c
- rpcclient/cmd_netlogon.c rpcclient/cmd_srvsvc.c
- rpcclient/cmd_dfs.c rpcclient/cmd_epmapper.c
- rpcclient/cmd_dssetup.c rpcclient/cmd_echo.c
- rpcclient/cmd_shutdown.c rpcclient/cmd_test.c
- rpcclient/cmd_wkssvc.c rpcclient/cmd_ntsvcs.c
- rpcclient/cmd_drsuapi.c rpcclient/cmd_eventlog.c
- rpcclient/cmd_winreg.c rpcclient/cmd_fss.c'''
-
-RPCCLIENT_SRC = '''${RPCCLIENT_SRC1}'''
-
-LIBSMBCLIENT_THREAD_SRC = '''libsmb/libsmb_thread_impl.c
- libsmb/libsmb_thread_posix.c'''
-
-LIBSMBSHAREMODES_SRC0 = 'libsmb/smb_share_modes.c'
-
-LIBSMBSHAREMODES_SRC = '${LIBSMBSHAREMODES_SRC0}'
-
-LIB_SMBCONF_SRC = 'lib/smbconf/smbconf_init.c lib/smbconf/smbconf_reg.c'
-
-SMBCONFTORT_SRC0 = 'lib/smbconf/testsuite.c'
-
-SMBCONFTORT_SRC = '''${SMBCONFTORT_SRC0}'''
-
-LIBNET_SRC = 'libnet/libnet_join.c'
-
-
-LIBNET_DSSYNC_SRC = '''libnet/libnet_dssync.c
- libnet/libnet_dssync_passdb.c
- libnet/libnet_dssync_keytab.c'''
-
-LIBNET_SAMSYNC_SRC = '''libnet/libnet_samsync.c
- libnet/libnet_samsync_ldif.c
- libnet/libnet_samsync_passdb.c
- libnet/libnet_samsync_display.c
- libnet/libnet_samsync_keytab.c'''
-
-NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
- utils/net_rap.c utils/net_rpc.c utils/net_rpc_samsync.c
- utils/net_time.c utils/net_lookup.c
- utils/net_cache.c utils/net_groupmap.c
- utils/net_idmap.c utils/net_idmap_check.c
- utils/interact.c
- utils/net_status.c utils/net_rpc_printer.c utils/net_rpc_rights.c
- utils/net_rpc_service.c utils/net_rpc_registry.c utils/net_usershare.c
- utils/netlookup.c utils/net_sam.c utils/net_rpc_shell.c
- utils/net_util.c utils/net_rpc_sh_acct.c utils/net_rpc_audit.c
- utils/net_dns.c utils/net_ads_gpo.c
- utils/net_conf.c utils/net_join.c utils/net_user.c
- utils/net_group.c utils/net_file.c utils/net_registry.c
- utils/net_registry_check.c
- utils/net_dom.c utils/net_share.c
- utils/net_g_lock.c
- utils/net_serverid.c
- utils/net_eventlog.c
- utils/net_printing.c
- utils/net_rpc_trust.c
- utils/net_rpc_conf.c
- registry/reg_parse.c registry/reg_format.c
- registry/reg_import.c
- '''
-
-NET_SRC2 = 'utils/net_registry_util.c utils/net_help_common.c'
-
-NET_SRC = '''${NET_SRC1}
- ${NET_SRC2}'''
-
-CUPS_SRC = '''client/smbspool.c'''
-
-NMBLOOKUP_SRC = '''utils/nmblookup.c'''
-
-SMBTORTURE_SRC1 = '''torture/torture.c torture/nbio.c torture/scanner.c torture/utable.c
- torture/denytest.c torture/mangle_test.c
- torture/nbench.c
- torture/test_async_echo.c
- torture/test_addrchange.c
- torture/test_posix_append.c
- torture/test_nttrans_create.c
- torture/test_nttrans_fsctl.c
- torture/test_case_insensitive.c
- torture/test_notify_online.c
- torture/test_chain3.c
- torture/test_smb2.c
- torture/test_authinfo_structs.c
- torture/test_smbsock_any_connect.c
- torture/test_cleanup.c
- torture/test_ctdbconn.c
- torture/test_msg.c
- torture/test_notify.c
- lib/tevent_barrier.c
- torture/test_dbwrap_watch.c
- torture/test_idmap_tdb_common.c
- torture/test_dbwrap_ctdb.c
- torture/test_buffersize.c
- torture/t_strappend.c'''
-
-SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
- torture/wbc_async.c'''
-
-MSGTEST_SRC = '''torture/msgtest.c'''
-
-PDBTEST_SRC = '''torture/pdbtest.c'''
-
-VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c
- torture/vfstest_chain.c'''
-
-LOG2PCAP_SRC = '''utils/log2pcaphex.c'''
-
-LOCKTEST2_SRC = '''torture/locktest2.c'''
-
-SMBCACLS_SRC = '''utils/smbcacls.c'''
-
-SMBCQUOTAS_SRC = '''utils/smbcquotas.c'''
-
-EVTLOGADM_SRC0 = 'utils/eventlogadm.c'
-
-EVTLOGADM_SRC = '''${EVTLOGADM_SRC0}'''
-
-SHARESEC_SRC0 = 'utils/sharesec.c'
-SHARESEC_SRC = '''${SHARESEC_SRC0}'''
-
-DEBUG2HTML_SRC = '''utils/debug2html.c utils/debugparse.c'''
-
-SMBFILTER_SRC = '''utils/smbfilter.c'''
-
-WINBIND_WINS_NSS_SRC = '''../nsswitch/wins.c'''
-
-NTLM_AUTH_SRC1 = '''utils/ntlm_auth.c utils/ntlm_auth_diagnostics.c'''
-
-NTLM_AUTH_SRC = '''${NTLM_AUTH_SRC1}'''
-
-VLP_SRC = '''printing/tests/vlp.c'''
-
RPC_OPEN_TCP_SRC = 'torture/rpc_open_tcp.c'
DBWRAP_TOOL_SRC = 'utils/dbwrap_tool.c'
vnum='0')
bld.SAMBA3_LIBRARY('smbsharemodes',
- source=LIBSMBSHAREMODES_SRC,
+ source='libsmb/smb_share_modes.c',
public_deps='''talloc tdb_compat''',
deps='''ccan-hash''',
public_headers='include/smb_share_modes.h',
pc_files='libsmb/smbsharemodes.pc',
- vnum='0',
- vars=locals())
+ vnum='0')
bld.SAMBA3_LIBRARY('nss_wins',
- source=WINBIND_WINS_NSS_SRC,
+ source='../nsswitch/wins.c',
deps='''param libsmb LIBTSOCKET''',
realname='libnss_wins.so.2',
soname='libnss_wins.so',
deps='samba-util LIBAFS_SETTOKEN')
bld.SAMBA3_LIBRARY('smbconf',
- source=LIB_SMBCONF_SRC,
+ source='''lib/smbconf/smbconf_init.c
+ lib/smbconf/smbconf_reg.c''',
deps='''
CHARSET3
LIBSMBCONF
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('PRINTBASE',
- source=PRINTBASE_SRC,
- deps='samba-util tdb_compat',
- vars=locals())
+ source='''printing/notify.c printing/printing_db.c''',
+ deps='samba-util tdb_compat')
bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
- source=PRINTBACKEND_SRC,
- deps='PRINTBASE LIBADS_PRINTER tdb_compat printing_migrate',
- vars=locals())
+ source='''printing/printing.c
+ printing/nt_printing.c
+ printing/nt_printing_tdb.c
+ printing/nt_printing_migrate_internal.c
+ printing/nt_printing_ads.c
+ printing/queue_process.c''',
+ deps='PRINTBASE LIBADS_PRINTER tdb_compat printing_migrate')
bld.SAMBA3_LIBRARY('printing_migrate',
source='printing/nt_printing_migrate.c rpc_client/cli_winreg_spoolss.c printing/nt_printing_os2.c',
private_library=True)
bld.SAMBA3_SUBSYSTEM('PRINTING',
- source=PRINTING_SRC,
- deps='NDR_PRINTCAP tdb_compat cups',
- vars=locals())
+ source='''printing/pcap.c
+ printing/print_svid.c
+ printing/print_aix.c
+ printing/print_cups.c
+ printing/print_generic.c
+ printing/lpq_parse.c
+ printing/load.c
+ printing/print_standard.c
+ printing/print_iprint.c
+ printing/printer_list.c''',
+ deps='NDR_PRINTCAP tdb_compat cups')
bld.SAMBA3_SUBSYSTEM('PASSWD_UTIL',
- source=PASSWD_UTIL_SRC,
- deps='samba-util',
- vars=locals())
+ source='utils/passwd_util.c',
+ deps='samba-util')
bld.SAMBA3_SUBSYSTEM('FNAME_UTIL',
source='lib/filename_util.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('LIBNET',
- source=LIBNET_SRC,
- deps='NDR_LIBNET_JOIN INIT_SAMR net_keytab pdb',
- vars=locals())
+ source='libnet/libnet_join.c',
+ deps='NDR_LIBNET_JOIN INIT_SAMR net_keytab pdb')
bld.SAMBA3_LIBRARY('net_keytab',
source='libnet/libnet_keytab.c',
bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
- source=LIBNET_DSSYNC_SRC,
- deps='LIBNET RPC_NDR_DRSUAPI',
- vars=locals())
+ source='''libnet/libnet_dssync.c
+ libnet/libnet_dssync_passdb.c
+ libnet/libnet_dssync_keytab.c''',
+ deps='LIBNET RPC_NDR_DRSUAPI')
bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
- source=LIBNET_SAMSYNC_SRC,
- deps='LIBNET LIBCLI_SAMSYNC',
- vars=locals())
+ source='''libnet/libnet_samsync.c
+ libnet/libnet_samsync_ldif.c
+ libnet/libnet_samsync_passdb.c
+ libnet/libnet_samsync_display.c
+ libnet/libnet_samsync_keytab.c''',
+ deps='LIBNET LIBCLI_SAMSYNC')
bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
source='lib/eventlog/eventlog.c',
deps='samba-util tdb_compat')
bld.SAMBA3_SUBSYSTEM('DCUTIL',
- source=DCUTIL_SRC,
- deps='ads msrpc3 libcli_lsa3',
- vars=locals())
+ source='''libsmb/namequery_dc.c
+ libsmb/trustdom_cache.c
+ libsmb/dsgetdcname.c''',
+ deps='ads msrpc3 libcli_lsa3')
bld.SAMBA3_LIBRARY('trusts_util',
source='libsmb/trusts_util.c',
########################## BINARIES #################################
bld.SAMBA3_BINARY('smbd/smbd',
- source='${SMBD_SRC_MAIN}',
+ source='smbd/server.c',
deps='smbd_base EPMD LSASD',
- install_path='${SBINDIR}',
- vars=locals())
+ install_path='${SBINDIR}')
bld.SAMBA3_BINARY('nmbd/nmbd',
source='''nmbd/asyncdns.c nmbd/nmbd.c nmbd/nmbd_become_dmb.c
install_path='${SBINDIR}')
bld.SAMBA3_BINARY('rpcclient/rpcclient',
- source=RPCCLIENT_SRC,
+ source='''rpcclient/rpcclient.c
+ rpcclient/cmd_lsarpc.c
+ rpcclient/cmd_samr.c
+ rpcclient/cmd_spoolss.c
+ rpcclient/cmd_netlogon.c
+ rpcclient/cmd_srvsvc.c
+ rpcclient/cmd_dfs.c
+ rpcclient/cmd_epmapper.c
+ rpcclient/cmd_dssetup.c
+ rpcclient/cmd_echo.c
+ rpcclient/cmd_shutdown.c
+ rpcclient/cmd_test.c
+ rpcclient/cmd_wkssvc.c
+ rpcclient/cmd_ntsvcs.c
+ rpcclient/cmd_drsuapi.c
+ rpcclient/cmd_eventlog.c
+ rpcclient/cmd_winreg.c
+ rpcclient/cmd_fss.c''',
deps='''
talloc
popt_samba3
RPC_NDR_NTSVCS
RPC_NDR_EVENTLOG
INIT_SAMR
- RPC_NDR_FSRVP
- ''',
- vars=locals())
+ RPC_NDR_FSRVP
+ ''')
bld.SAMBA3_BINARY('client/smbclient',
source='''client/client.c
cli_smb_common''')
bld.SAMBA3_BINARY('net',
- source=NET_SRC,
+ source='''utils/net.c
+ utils/net_ads.c
+ utils/net_help.c
+ utils/net_rap.c
+ utils/net_rpc.c
+ utils/net_rpc_samsync.c
+ utils/net_time.c
+ utils/net_lookup.c
+ utils/net_cache.c
+ utils/net_groupmap.c
+ utils/net_idmap.c
+ utils/net_idmap_check.c
+ utils/interact.c
+ utils/net_status.c
+ utils/net_rpc_printer.c
+ utils/net_rpc_rights.c
+ utils/net_rpc_service.c
+ utils/net_rpc_registry.c
+ utils/net_usershare.c
+ utils/netlookup.c
+ utils/net_sam.c
+ utils/net_rpc_shell.c
+ utils/net_util.c
+ utils/net_rpc_sh_acct.c
+ utils/net_rpc_audit.c
+ utils/net_dns.c
+ utils/net_ads_gpo.c
+ utils/net_conf.c
+ utils/net_join.c
+ utils/net_user.c
+ utils/net_group.c
+ utils/net_file.c
+ utils/net_registry.c
+ utils/net_registry_check.c
+ utils/net_dom.c
+ utils/net_share.c
+ utils/net_g_lock.c
+ utils/net_serverid.c
+ utils/net_eventlog.c
+ utils/net_printing.c
+ utils/net_rpc_trust.c
+ utils/net_rpc_conf.c
+ registry/reg_parse.c
+ registry/reg_format.c
+ registry/reg_import.c
+ utils/net_registry_util.c
+ utils/net_help_common.c''',
deps='''
talloc
netapi
RPC_NDR_DSSETUP
RPC_NDR_INITSHUTDOWN
printing_migrate
- trusts_util''',
- vars=locals())
+ trusts_util''')
bld.SAMBA3_BINARY('profiles',
source='utils/profiles.c',
REGFIO''')
bld.SAMBA3_BINARY('smbspool',
- source=CUPS_SRC,
+ source='client/smbspool.c',
deps='''
talloc
popt_samba3
param
libsmb
- samba3core''',
- vars=locals())
+ samba3core''')
bld.SAMBA3_BINARY('testparm',
- source=TESTPARM_SRC,
+ source='utils/testparm.c',
deps='''
talloc
param
- popt_samba3''',
- vars=locals())
+ popt_samba3''')
bld.SAMBA3_BINARY('smbta-util',
- source=SMBTA_UTIL_SRC,
+ source='utils/smbta-util.c',
deps='''
talloc
secrets3
- param''',
- vars=locals())
+ param''')
bld.SAMBA3_BINARY('smbstatus',
- source=STATUS_SRC,
+ source='''utils/status.c
+ utils/status_profile.c
+ smbd/notify_internal.c''',
deps='''
talloc
param
popt_samba3
smbd_base
LOCKING
- PROFILE''',
- vars=locals())
+ PROFILE''')
bld.SAMBA3_BINARY('smbcontrol',
- source=SMBCONTROL_SRC,
+ source='utils/smbcontrol.c',
deps='''
talloc
param
popt_samba3
- PRINTBASE''',
- vars=locals())
+ PRINTBASE''')
bld.SAMBA3_BINARY('smbtree',
- source=SMBTREE_SRC,
+ source='utils/smbtree.c',
deps='''
talloc
param
msrpc3
popt_samba3
PROFILE
- RPC_NDR_SRVSVC''',
- vars=locals())
+ RPC_NDR_SRVSVC''')
bld.SAMBA3_BINARY('smbpasswd',
- source=SMBPASSWD_SRC,
+ source='utils/smbpasswd.c',
deps='''
talloc
param
pdb
PASSWD_UTIL
- PASSCHANGE''',
- vars=locals())
+ PASSCHANGE''')
bld.SAMBA3_BINARY('pdbedit',
- source=PDBEDIT_SRC,
+ source='utils/pdbedit.c',
deps='''
talloc
param
popt_samba3
pdb
- PASSWD_UTIL''',
- vars=locals())
+ PASSWD_UTIL''')
bld.SAMBA3_BINARY('smbget',
- source=SMBGET_SRC,
+ source='utils/smbget.c',
deps='''
talloc
popt_samba3
- smbclient''',
- vars=locals())
+ smbclient''')
bld.SAMBA3_BINARY('nmblookup',
- source=NMBLOOKUP_SRC,
+ source='utils/nmblookup.c',
deps='''
talloc
param
popt_samba3
- LIBNMB''',
- vars=locals())
+ LIBNMB''')
bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
- source=SMBTORTURE_SRC,
+ source='''torture/torture.c
+ torture/nbio.c
+ torture/scanner.c
+ torture/utable.c
+ torture/denytest.c
+ torture/mangle_test.c
+ torture/nbench.c
+ torture/test_async_echo.c
+ torture/test_addrchange.c
+ torture/test_posix_append.c
+ torture/test_nttrans_create.c
+ torture/test_nttrans_fsctl.c
+ torture/test_case_insensitive.c
+ torture/test_notify_online.c
+ torture/test_chain3.c
+ torture/test_smb2.c
+ torture/test_authinfo_structs.c
+ torture/test_smbsock_any_connect.c
+ torture/test_cleanup.c
+ torture/test_ctdbconn.c
+ torture/test_msg.c
+ torture/test_notify.c
+ lib/tevent_barrier.c
+ torture/test_dbwrap_watch.c
+ torture/test_idmap_tdb_common.c
+ torture/test_dbwrap_ctdb.c
+ torture/test_buffersize.c
+ torture/t_strappend.c
+ torture/wbc_async.c''',
deps='''
talloc
param
RPC_NDR_ECHO
WB_REQTRANS
LOCKING
- NDR_OPEN_FILES
- idmap
+ NDR_OPEN_FILES
+ idmap
''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('smbconftort',
- source=SMBCONFTORT_SRC,
+ source='lib/smbconf/testsuite.c',
deps='''
talloc
param
popt_samba3''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('replacetort',
source='../lib/replace/test/main.c',
install=False)
bld.SAMBA3_BINARY('msgtest',
- source=MSGTEST_SRC,
+ source='torture/msgtest.c',
deps='''
talloc
param''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('smbcacls',
- source=SMBCACLS_SRC,
+ source='utils/smbcacls.c',
deps='''
talloc
popt_samba3
msrpc3
libcli_lsa3
- krb5samba''',
- vars=locals())
+ krb5samba''')
bld.SAMBA3_BINARY('smbcquotas',
- source=SMBCQUOTAS_SRC,
+ source='utils/smbcquotas.c',
deps='''
talloc
popt_samba3
libsmb
msrpc3
- libcli_lsa3''',
- vars=locals())
+ libcli_lsa3''')
bld.SAMBA3_BINARY('eventlogadm',
- source=EVTLOGADM_SRC,
+ source='utils/eventlogadm.c',
deps='''
talloc
param
- LIBEVENTLOG''',
- vars=locals())
+ LIBEVENTLOG''')
bld.SAMBA3_BINARY('sharesec',
- source=SHARESEC_SRC,
+ source='utils/sharesec.c',
deps='''
talloc
- popt_samba3''',
- vars=locals())
+ popt_samba3''')
bld.SAMBA3_BINARY('pdbtest',
- source=PDBTEST_SRC,
+ source='torture/pdbtest.c',
deps='''
talloc
pdb
popt_samba3
AUTH_COMMON
auth''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('vfstest',
- source=VFSTEST_SRC,
+ source='''torture/cmd_vfs.c
+ torture/vfstest.c
+ torture/vfstest_chain.c''',
deps='''
vfs
popt_samba3
SMBREADLINE''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('log2pcap',
- source=LOG2PCAP_SRC,
+ source='utils/log2pcaphex.c',
deps='''talloc popt''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('locktest2',
- source=LOCKTEST2_SRC,
+ source='torture/locktest2.c',
deps='''
talloc
param
libsmb
LOCKING''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('debug2html',
- source=DEBUG2HTML_SRC,
+ source='''utils/debug2html.c utils/debugparse.c''',
deps='''talloc popt''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('smbfilter',
- source=SMBFILTER_SRC,
+ source='utils/smbfilter.c',
deps='''
talloc
param
LIBNMB''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('versiontest',
source='lib/version_test.c',
vars=locals())
bld.SAMBA3_BINARY('ntlm_auth',
- source=NTLM_AUTH_SRC,
+ source='''utils/ntlm_auth.c utils/ntlm_auth_diagnostics.c''',
deps='''
talloc
krb5samba
iniparser
libsmb
popt_samba3
- LIBNTLMSSP gse gensec''',
- vars=locals())
+ LIBNTLMSSP gse gensec''')
bld.SAMBA3_BINARY('timelimit',
source='script/tests/timelimit.c',
vars=locals())
bld.SAMBA3_BINARY('test_lp_load',
- source=TEST_LP_LOAD_SRC,
+ source='param/test_lp_load.c',
deps='''
talloc
param
popt_samba3''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_BINARY('dbwrap_tool',
source=DBWRAP_TOOL_SRC,
vars=locals())
bld.SAMBA3_BINARY('vlp',
- source=VLP_SRC,
+ source='printing/tests/vlp.c',
deps='''
talloc
param''',
- install=False,
- vars=locals())
+ install=False)
bld.SAMBA3_PYTHON('pysmbd',
source='smbd/pysmbd.c',