mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
compile_et: Support using system compile_et.
This commit is contained in:
parent
0bda3f8cfb
commit
c676c950db
@ -4,18 +4,11 @@
|
||||
SELF=$0
|
||||
SELFDIR=`dirname ${SELF}`
|
||||
|
||||
BUILDDIR=$1
|
||||
DESTDIR=$2
|
||||
|
||||
CMD=$3
|
||||
FILE=$4
|
||||
SOURCE=$5
|
||||
shift 5
|
||||
|
||||
test -z "${BUILDDIR}" && {
|
||||
echo "${SELF}:BUILDDIR: '${BUILDDIR}'" >&2;
|
||||
exit 1;
|
||||
}
|
||||
DESTDIR=$1
|
||||
CMD=$2
|
||||
FILE=$3
|
||||
SOURCE=$4
|
||||
shift 4
|
||||
|
||||
test -z "${DESTDIR}" && {
|
||||
echo "${SELF}:DESTDIR: '${DESTDIR}'" >&2;
|
||||
@ -39,16 +32,12 @@ test -z "${SOURCE}" && {
|
||||
|
||||
CURDIR=`pwd`
|
||||
|
||||
cd ${BUILDDIR} && {
|
||||
ABS_BUILDDIR=`pwd`
|
||||
cd ${CURDIR}
|
||||
} || {
|
||||
echo "${SELF}:cannot cd into '${BUILDDIR}'" >&2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
cd ${DESTDIR} && {
|
||||
${ABS_BUILDDIR}/${CMD} ${FILE} >&2 || exit 1;
|
||||
# Remove older copies beforehand - MIT's compile_et uses odd permissions for these
|
||||
# files, which makes Heimdal's compile_et fail mysteriously when writing to them.
|
||||
rm -f `basename ${FILE} .et`.c
|
||||
rm -f `basename ${FILE} .et`.h
|
||||
${CMD} ${FILE} >&2 || exit 1;
|
||||
cd ${CURDIR}
|
||||
TMP="${SOURCE}.$$"
|
||||
mv ${SOURCE} ${TMP} && {
|
||||
@ -56,9 +45,9 @@ cd ${DESTDIR} && {
|
||||
cat ${TMP} >> ${SOURCE}
|
||||
}
|
||||
}
|
||||
rm ${TMP}
|
||||
rm -f ${TMP}
|
||||
} || {
|
||||
echo "${SELF}:cannot cd into '${BUILDDIR}'" >&2;
|
||||
echo "${SELF}:cannot cd into '${DESTDIR}'" >&2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
|
@ -124,12 +124,17 @@ def HEIMDAL_ERRTABLE(bld, name, source):
|
||||
out_files.append('%s.c' % bname)
|
||||
out_files.append('%s.h' % bname)
|
||||
|
||||
t = bld(rule='${SRC[1].abspath(env)} . ${TGT[0].parent.abspath(env)} default/source4/heimdal_build/compile_et ${SRC[0].abspath(env)} ${TGT[0].bldpath(env)}',
|
||||
sources = [source, 'et_compile_wrapper.sh']
|
||||
|
||||
if not bld.CONFIG_SET('USING_SYSTEM_COMPILE_ET'):
|
||||
sources.append('compile_et')
|
||||
|
||||
t = bld(rule='${SRC[1].abspath(env)} ${TGT[0].parent.abspath(env)} ${COMPILE_ET} ${SRC[0].abspath(env)} ${TGT[0].bldpath(env)}',
|
||||
ext_out = '.c',
|
||||
before = 'cc',
|
||||
on_results = True,
|
||||
shell = True,
|
||||
source = [source, 'et_compile_wrapper.sh', 'compile_et'],
|
||||
source = sources,
|
||||
target = out_files,
|
||||
name = name)
|
||||
Build.BuildContext.HEIMDAL_ERRTABLE = HEIMDAL_ERRTABLE
|
||||
@ -602,22 +607,23 @@ bld.SAMBA_BINARY('asn1_compile',
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
|
||||
includes='../heimdal/lib/asn1 ../heimdal/lib/roken',
|
||||
group='build_compilers',
|
||||
deps='HEIMDAL_ROKEN_HOSTCC LIBREPLACE_HOSTCC',
|
||||
deps='HEIMDAL_ROKEN_HOSTCC',
|
||||
install=False
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_BINARY('compile_et',
|
||||
'../heimdal/lib/vers/print_version.c ../heimdal/lib/com_err/parse.c ../heimdal/lib/com_err/lex.c ../heimdal/lib/com_err/compile_et.c',
|
||||
use_hostcc=True,
|
||||
if not bld.CONFIG_SET('USING_SYSTEM_COMPILE_ET'):
|
||||
bld.SAMBA_BINARY('compile_et',
|
||||
'../heimdal/lib/vers/print_version.c ../heimdal/lib/com_err/parse.c ../heimdal/lib/com_err/lex.c ../heimdal/lib/com_err/compile_et.c',
|
||||
use_hostcc=True,
|
||||
use_global_deps=False,
|
||||
includes='../heimdal/lib/com_err',
|
||||
includes='../heimdal/lib/com_err',
|
||||
group='build_compilers',
|
||||
cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
|
||||
deps='HEIMDAL_ROKEN_HOSTCC LIBREPLACE_HOSTCC',
|
||||
deps='HEIMDAL_ROKEN_HOSTCC',
|
||||
install=False
|
||||
)
|
||||
|
||||
)
|
||||
bld.env['COMPILE_ET'] = os.path.join(bld.env['BUILD_DIRECTORY'], 'compile_et')
|
||||
|
||||
bld.SAMBA_BINARY('samba4kinit',
|
||||
'../heimdal/kuser/kinit.c ../heimdal/lib/vers/print_version.c',
|
||||
|
@ -7,16 +7,16 @@ conf.CHECK_HEADERS('err.h')
|
||||
|
||||
conf.CHECK_HEADERS('ifaddrs.h')
|
||||
conf.CHECK_HEADERS('''crypt.h errno.h inttypes.h netdb.h signal.h sys/bswap.h
|
||||
sys/file.h sys/stropts.h sys/timeb.h sys/times.h sys/uio.h sys/un.h
|
||||
sys/utsname.h time.h timezone.h ttyname.h netinet/in.h
|
||||
netinet/in6.h netinet6/in6.h libintl.h''')
|
||||
sys/file.h sys/stropts.h sys/timeb.h sys/times.h sys/uio.h sys/un.h
|
||||
sys/utsname.h time.h timezone.h ttyname.h netinet/in.h
|
||||
netinet/in6.h netinet6/in6.h libintl.h''')
|
||||
|
||||
conf.CHECK_HEADERS('curses.h term.h termcap.h', together=True)
|
||||
|
||||
conf.CHECK_FUNCS('''atexit cgetent getprogname setprogname gethostname
|
||||
putenv rcmd readv sendmsg setitimer strlwr strncasecmp
|
||||
strptime strsep strsep_copy strtok_r strupr swab umask uname unsetenv
|
||||
closefrom err warn errx warnx flock writev''')
|
||||
strptime strsep strsep_copy strtok_r strupr swab umask uname unsetenv
|
||||
closefrom err warn errx warnx flock writev''')
|
||||
|
||||
conf.CHECK_FUNCS_IN('hstrerror', 'resolv socket nsl', checklibc=True)
|
||||
conf.CHECK_FUNCS_IN('''getnameinfo sendmsg socket getipnodebyname gethostent gethostent_r
|
||||
@ -34,9 +34,9 @@ conf.CHECK_FUNCS('bswap32')
|
||||
|
||||
conf.CHECK_TYPE('struct winsize', define='HAVE_STRUCT_WINSIZE', headers='sys/termios.h sys/ioctl.h')
|
||||
conf.CHECK_STRUCTURE_MEMBER('struct winsize', 'ws_xpixel',
|
||||
define='HAVE_WS_XPIXEL', headers='sys/termios.h sys/ioctl.h')
|
||||
define='HAVE_WS_XPIXEL', headers='sys/termios.h sys/ioctl.h')
|
||||
conf.CHECK_STRUCTURE_MEMBER('struct winsize', 'ws_ypixel',
|
||||
define='HAVE_WS_YPIXEL', headers='sys/termios.h sys/ioctl.h')
|
||||
define='HAVE_WS_YPIXEL', headers='sys/termios.h sys/ioctl.h')
|
||||
conf.DEFINE('HAVE_KRB_STRUCT_WINSIZE', 1)
|
||||
conf.DEFINE('VOID_RETSIGTYPE', 1)
|
||||
|
||||
@ -62,3 +62,6 @@ conf.DEFINE('SAMBA4_INTERNAL_HEIMDAL', 1)
|
||||
|
||||
if conf.CHECK_BUNDLED_SYSTEM('com_err', checkfunctions='com_err', headers='com_err.h'):
|
||||
conf.define('USING_SYSTEM_COM_ERR', 1)
|
||||
|
||||
if conf.find_program('compile_et', var='COMPILE_ET'):
|
||||
conf.define('USING_SYSTEM_COMPILE_ET', 1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user