#==========================================
# $Id: xemacsen-macros,v 1.18 2002/09/09 15:49:42 lioka Exp $
#==========================================
# xemacs binary
%__xemacs %_bindir/xemacs

#
# directory layout
#
%_xemacs_confdir %_sysconfdir/xemacs
%_xemacs_sitestartdir %_xemacs_confdir/site-start.d

# version/arch specific
%_xemacs_libdir %_libdir/%name-%version
%_xemacs_archlibdir %_xemacs_libdir/%_target_platform

%_xemacs_datadir %_datadir/%name-%version
%_xemacs_etcdir %_xemacs_datadir/etc
%_xemacs_docdir %_xemacs_datadir/doc
%_xemacs_lispdir %_xemacs_datadir/lisp

# info related stuff
%_xemacs_infodir %_infodir/xemacs
%_xemacs_infosection --section=XEmacs

# various package-holding directories
%__xemacs_package_root %_datadir/xemacs
%__xemacs_pkgdir %__xemacs_package_root/xemacs-packages
%__xemacs_muledir	%__xemacs_package_root/mule-packages
%__xemacs_sitedir %__xemacs_package_root/site-packages

%_xemacs_package_dir %{?xemacs_package:%__xemacs_pkgdir}%{?!xemacs_package:%{?xemacs_mule_package:%__xemacs_muledir}%{?!xemacs_mule_package:%{error:nor xemacs_package neither xemacs_mule_package is set}}}
%_xemacs_package_etc_dir %{expand:%_xemacs_package_dir/etc}
%_xemacs_package_lisp_dir %_xemacs_package_dir/lisp
%_xemacs_package_lib_dir %_xemacs_package_dir/lib-src

#
# build related macros
#
%_xemacs_bytecompile_load_path --eval '(setq load-path (append (list ".") load-path))'
%_xemacs_bytecompile_cmd -batch %_xemacs_bytecompile_load_path -no-site-file -f batch-byte-compile

%xemacs_bytecompile(C:) \
%{-C:_mydir="`pwd`"; cd %{-C*}} \
find . -type f -name \\\*.el -a -not -name _pkg.el -print0 |\\\
xargs -r0 %__xemacs %_xemacs_bytecompile_cmd \
%{-C:cd ${_mydir}; unset _mydir} \
%nil

#
# install
#
%xemacs_makeinstall \
	%{__make} INSTALL="%__install -p" EMACS=%__xemacs \\\
		lispdir=%{?buildroot:%{buildroot}}%{_xemacs_package_lisp_dir} \\\
		infodir=%{?buildroot:%{buildroot}}%{_xemacs_infodir} \\\
  %{?_makeinstall_target:%{_makeinstall_target}}

# finds xemacs package files, assuming these are in standard places
%xemacs_package_find_files \
(if test -d %buildroot%_xemacs_package_etc_dir; then \
	find %buildroot%_xemacs_package_etc_dir -type d \\\
		-mindepth 1 -printf '%%%%dir %p\\\n' \
	find %buildroot%_xemacs_package_etc_dir -type f \
fi \
if test -d %buildroot%_xemacs_package_lisp_dir; then \
	find %buildroot%_xemacs_package_lisp_dir -type d \\\
		-mindepth 1 -printf '%%%%dir %p\\\n' \
	find %buildroot%_xemacs_package_lisp_dir -type f \\\
		-name \\\*.elc -a -not -name _pkg.elc -o -name _pkg.el \
	find %buildroot%_xemacs_package_lisp_dir -type f \\\
		-name \\\*.el -a -not -name _pkg.el -exec \\\
		/bin/sh -c 'test -f "{}c" || echo {}' \\\; \
fi \
if test -d %buildroot%_xemacs_package_lib_dir; then \
	find %buildroot%_xemacs_package_lib_dir -type d \\\
		-mindepth 1 -printf '%%%%dir %p\\\n' \
	find %buildroot%_xemacs_package_lib_dir -type f \
fi \
if test -d %buildroot%_xemacs_infodir; then \
	find %buildroot%_xemacs_infodir -type f -printf '%p.*\\\n' \
fi \
) |sed 's|%buildroot||' > %name-files \
%nil

# pre/post scriptlets
%xemacs_install_info() \
LANGUAGE=POSIX; export LANGUAGE \
for f in %*; do \
	if [ "$f" = "${f##*/}" ]; then \
		f="%_xemacs_infodir/$f" \
	fi \
	%__install_info %_xemacs_infosection --dir-file="%_xemacs_infodir/dir" --info-file="$f" \
done \
%nil

%xemacs_uninstall_info() \
LANGUAGE=POSIX; export LANGUAGE \
if [ $1 = 0 ]; then \
	for f in %*; do \
		if [ "$f" = "${f##*/}" ]; then \
			f="%_xemacs_infodir/$f" \
		fi \
		%__install_info %_xemacs_infosection --delete --dir-file="%_xemacs_infodir/dir" --info-file="$f" \
  done \
fi \
%nil

#==========================================
#local variables:
#mode: rpm-spec
#fill-column: 80
#tab-width: 2
#end:
