1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/source3/rpc_server/wscript_build
Gary Lockyer 3e072b3fb7 build: fix the coverage build
"make lcov" was failing with:
   Processing file bin/default/<stdout>
   genhtml: ERROR: cannot read ... <stdout>

Flex adds "#line nnn <stdout>" to the generated source, which then causes
issues with lcov. This commit adds a SAMBA_GENERATOR for es_lexer.l and
sparql_lexer.l that strips out the offending lines.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2020-02-27 01:02:32 +00:00

263 lines
9.4 KiB
Python

#!/usr/bin/env python
### RPC_SERVER
bld.SAMBA3_SUBSYSTEM('rpc',
source='',
deps='RPC_PIPE_REGISTER')
bld.SAMBA3_SUBSYSTEM('RPC_CONFIG',
source='rpc_config.c',
deps='talloc')
bld.SAMBA3_SUBSYSTEM('RPC_NCACN_NP',
source='rpc_ncacn_np.c rpc_handles.c rpc_contexts.c',
deps='RPC_CONFIG auth common_auth RPC_PIPE_REGISTER npa_tstream')
bld.SAMBA3_SUBSYSTEM('RPC_SERVER_LOOP',
source='rpc_server.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_CRYPTO',
source='dcesrv_auth_generic.c',
deps = 'KRB5_PAC')
bld.SAMBA3_SUBSYSTEM('RPC_PIPE_REGISTER',
source='srv_pipe_register.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('SRV_ACCESS_CHECK',
source='srv_access_check.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_SERVER',
source='srv_pipe_hnd.c srv_pipe.c',
deps='''
RPC_CONFIG
RPC_NCACN_NP
RPC_SERVER_LOOP
RPC_CRYPTO
NDR_NAMED_PIPE_AUTH
''')
bld.SAMBA3_SUBSYSTEM('RPC_MODULES',
source='rpc_modules.c',
deps='samba-util')
### RPC_SERVICES
bld.SAMBA3_SUBSYSTEM('RPC_DSSETUP',
source='''dssetup/srv_dssetup_nt.c
../../librpc/gen_ndr/srv_dssetup.c''',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_EPMAPPER',
source='''epmapper/srv_epmapper.c
../../librpc/gen_ndr/srv_epmapper.c''',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_FSS_STATE',
source='''fss/srv_fss_state.c''',
deps='samba-util NDR_FSRVP_STATE')
bld.SAMBA3_SUBSYSTEM('RPC_FSS_AGENT',
source='''fss/srv_fss_agent.c
../../librpc/gen_ndr/srv_fsrvp.c''',
deps='samba-util RPC_FSS_STATE')
bld.SAMBA3_SUBSYSTEM('RPC_EVENTLOG',
source='''eventlog/srv_eventlog_nt.c
eventlog/srv_eventlog_reg.c
../../librpc/gen_ndr/srv_eventlog.c''',
deps='LIBEVENTLOG LIBCLI_WINREG_INTERNAL')
bld.SAMBA3_SUBSYSTEM('RPC_INITSHUTDOWN',
source='''initshutdown/srv_initshutdown_nt.c
../../librpc/gen_ndr/srv_initshutdown.c''',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_LSARPC',
source='''lsa/srv_lsa_nt.c
../../librpc/gen_ndr/srv_lsa.c''',
deps='SRV_ACCESS_CHECK LIBLSA GNUTLS_HELPERS')
bld.SAMBA3_SUBSYSTEM('RPC_NETDFS',
source='''dfs/srv_dfs_nt.c
../../librpc/gen_ndr/srv_dfs.c''',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_NETLOGON',
source='''netlogon/srv_netlog_nt.c
../../librpc/gen_ndr/srv_netlogon.c''',
deps='LIBCLI_AUTH')
bld.SAMBA3_SUBSYSTEM('RPC_NTSVCS',
source='''ntsvcs/srv_ntsvcs_nt.c
../../librpc/gen_ndr/srv_ntsvcs.c''',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_RPCECHO',
source='''echo/srv_echo_nt.c
../../librpc/gen_ndr/srv_echo.c''',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_SAMR',
source='''samr/srv_samr_nt.c
samr/srv_samr_util.c
samr/srv_samr_chgpasswd.c
../../librpc/gen_ndr/srv_samr.c''',
deps='PLAINTEXT_AUTH SRV_ACCESS_CHECK')
bld.SAMBA3_SUBSYSTEM('RPC_SPOOLSS',
source='''spoolss/srv_spoolss_nt.c
spoolss/srv_spoolss_util.c''',
deps='PRINTING PRINTBACKEND LIBCLI_WINREG_INTERNAL')
bld.SAMBA3_SUBSYSTEM('RPC_IREMOTEWINSPOOL',
source='''
spoolss/srv_iremotewinspool_nt.c
spoolss/srv_iremotewinspool.c
''',
deps='RPC_SPOOLSS')
bld.SAMBA3_SUBSYSTEM('RPC_SRVSVC',
source='''srvsvc/srv_srvsvc_nt.c
../../librpc/gen_ndr/srv_srvsvc.c''',
deps='samba-util tdb')
bld.SAMBA3_SUBSYSTEM('RPC_SVCCTL',
source='''svcctl/srv_svcctl_nt.c
svcctl/srv_svcctl_reg.c
../../librpc/gen_ndr/srv_svcctl.c''',
deps='SERVICES LIBCLI_WINREG_INTERNAL')
bld.SAMBA3_SUBSYSTEM('RPC_WINREG',
source='''winreg/srv_winreg_nt.c
../../librpc/gen_ndr/srv_winreg.c''',
deps='REG_FULL REGFIO NDR_PERFCOUNT')
bld.SAMBA3_SUBSYSTEM('RPC_WKSSVC',
source='''wkssvc/srv_wkssvc_nt.c
../../librpc/gen_ndr/srv_wkssvc.c''',
deps='LIBNET')
bld.SAMBA3_SUBSYSTEM('mdssvc',
source='''
mdssvc/dalloc.c
mdssvc/marshalling.c
''')
rpc_mdssvc_sources = '''
mdssvc/mdssvc.c
mdssvc/mdssvc_noindex.c
mdssvc/srv_mdssvc_nt.c
../../librpc/gen_ndr/srv_mdssvc.c
'''
rpc_mdssvc_deps = 'mdssvc samba-util '
if bld.env.spotlight_backend_tracker:
rpc_mdssvc_sources += '''
mdssvc/mdssvc_tracker.c
mdssvc/sparql_mapping.c
mdssvc/sparql_parser.y
'''
rpc_mdssvc_deps += 'tevent-glib-glue ' + bld.env['libtracker']
# flex adds "#line nnn <stdout>" to the generated source
# which then causes issues with lcov, so need to filter out those
# lines. We need to use a different target name, as the default flex rule
# will also build sparql_lexer.lex.c
bld.SAMBA_GENERATOR(
"sparql_lexer.gcov.lex.c",
group='build_source',
source="mdssvc/sparql_lexer.l",
target="mdssvc/sparql_lexer.gcov.lex.c",
rule='${FLEX} ${FLEXFLAGS} ${SRC} |'
'grep -v "#line.*<stdout>" >${TGT}')
rpc_mdssvc_sources += ' mdssvc/sparql_lexer.gcov.lex.c'
if bld.env.spotlight_backend_es:
rpc_mdssvc_sources += '''
mdssvc/mdssvc_es.c
mdssvc/es_mapping.c
mdssvc/es_parser.y
'''
rpc_mdssvc_deps += ' http jansson'
# flex adds "#line nnn <stdout>" to the generated source
# which then causes issues with lcov, so need to filter out those
# lines. We need to use a different target name, as the default flex rule
# will also build es_lexer.lex.c
bld.SAMBA_GENERATOR(
"es_lexer.gcov.lex.c",
group='build_source',
source="mdssvc/es_lexer.l",
target="mdssvc/es_lexer.gcov.lex.c",
rule='${FLEX} ${FLEXFLAGS} ${SRC} |'
'grep -v "#line.*<stdout>" >${TGT}')
rpc_mdssvc_sources += ' mdssvc/es_lexer.gcov.lex.c'
if bld.SAMBA3_IS_ENABLED_MODULE('rpc_mdssvc_module'):
bld.INSTALL_FILES(bld.env.SAMBA_DATADIR,
'mdssvc/elasticsearch_mappings.json')
bld.SAMBA3_MODULE('rpc_mdssvc_module',
subsystem='rpc',
allow_undefined_symbols=True,
source=rpc_mdssvc_sources,
init_function='',
deps=rpc_mdssvc_deps,
internal_module=bld.SAMBA3_IS_STATIC_MODULE('rpc_mdssvc_module'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('rpc_mdssvc_module'))
# RPC_SERVICE
bld.SAMBA3_SUBSYSTEM('RPC_SERVER_REGISTER',
source='rpc_ep_register.c ../librpc/rpc/dcerpc_ep.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('RPC_SERVICE',
source='rpc_service_setup.c',
deps='''
rpc
RPC_SERVER
RPC_SERVER_REGISTER
RPC_MODULES
RPC_SAMR
RPC_LSARPC
RPC_WINREG
RPC_INITSHUTDOWN
RPC_DSSETUP
RPC_WKSSVC
RPC_SVCCTL
RPC_NTSVCS
RPC_NETLOGON
RPC_NETDFS
RPC_SRVSVC
RPC_SPOOLSS
RPC_IREMOTEWINSPOOL
RPC_EVENTLOG
RPC_RPCECHO
RPC_SERVER
RPC_EPMAPPER
RPC_FSS_AGENT
''')
# RPC_DAEMONS
bld.SAMBA3_SUBSYSTEM('RPC_SOCK_HELPER',
source='rpc_sock_helper.c',
deps='RPC_SERVER_REGISTER')
bld.SAMBA3_SUBSYSTEM('EPMD',
source='epmd.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('LSASD',
source='lsasd.c',
deps='RPC_SOCK_HELPER samba-util')
bld.SAMBA3_SUBSYSTEM('FSSD',
source='fssd.c',
deps='samba-util')
bld.SAMBA3_SUBSYSTEM('MDSSD',
source='mdssd.c',
deps='RPC_SOCK_HELPER RPC_MODULES samba-util tevent-glib-glue',
enabled=bld.env.with_spotlight)