2006-08-18 17:03:41 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# compile_cdrskin.sh
|
2008-04-08 13:32:07 +00:00
|
|
|
# Copyright 2005 - 2008 Thomas Schmitt, scdbackup@gmx.net, GPL version 2
|
2006-09-15 09:26:25 +00:00
|
|
|
# to be executed within ./libburn-* resp ./cdrskin-*
|
2006-08-18 17:03:41 +00:00
|
|
|
|
2007-09-26 17:39:35 +00:00
|
|
|
debug_opts="-O2"
|
2006-08-18 17:03:41 +00:00
|
|
|
def_opts=
|
2006-11-01 16:39:07 +00:00
|
|
|
largefile_opts="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1"
|
2008-12-07 14:05:34 +00:00
|
|
|
libvers="-DCdrskin_libburn_0_5_8"
|
2006-10-19 09:46:57 +00:00
|
|
|
cleanup_src_or_obj="libburn/cleanup.o"
|
2006-09-24 17:16:01 +00:00
|
|
|
libdax_msgs_o="libburn/libdax_msgs.o"
|
2006-10-17 14:13:30 +00:00
|
|
|
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
2006-08-18 17:03:41 +00:00
|
|
|
do_strip=0
|
|
|
|
static_opts=
|
|
|
|
warn_opts="-Wall"
|
|
|
|
fifo_source="cdrskin/cdrfifo.c"
|
|
|
|
compile_cdrskin=1
|
|
|
|
compile_cdrfifo=0
|
2006-10-15 18:49:30 +00:00
|
|
|
compile_dewav=0
|
2006-08-18 17:03:41 +00:00
|
|
|
|
|
|
|
for i in "$@"
|
|
|
|
do
|
|
|
|
if test "$i" = "-compile_cdrfifo"
|
|
|
|
then
|
|
|
|
compile_cdrfifo=1
|
2006-10-15 18:49:30 +00:00
|
|
|
elif test "$i" = "-compile_dewav"
|
|
|
|
then
|
|
|
|
compile_dewav=1
|
2006-08-18 17:03:41 +00:00
|
|
|
elif test "$i" = "-cvs_A60220"
|
|
|
|
then
|
|
|
|
libvers="-DCdrskin_libburn_cvs_A60220_tS"
|
2006-10-17 14:13:30 +00:00
|
|
|
libdax_audioxtr_o=
|
2006-09-24 20:34:22 +00:00
|
|
|
libdax_msgs_o="libburn/message.o"
|
2006-11-16 11:17:55 +00:00
|
|
|
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
|
2008-12-07 14:05:34 +00:00
|
|
|
elif test "$i" = "-libburn_0_5_8"
|
2006-09-15 09:26:25 +00:00
|
|
|
then
|
2008-12-07 14:05:34 +00:00
|
|
|
libvers="-DCdrskin_libburn_0_5_8"
|
2006-11-23 10:26:18 +00:00
|
|
|
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
|
|
|
libdax_msgs_o="libburn/libdax_msgs.o"
|
|
|
|
cleanup_src_or_obj="libburn/cleanup.o"
|
|
|
|
elif test "$i" = "-libburn_svn"
|
2006-09-21 09:37:42 +00:00
|
|
|
then
|
2008-12-07 14:05:34 +00:00
|
|
|
libvers="-DCdrskin_libburn_0_5_9"
|
2006-10-17 14:13:30 +00:00
|
|
|
libdax_audioxtr_o="libburn/libdax_audioxtr.o"
|
2006-09-24 17:16:01 +00:00
|
|
|
libdax_msgs_o="libburn/libdax_msgs.o"
|
2006-10-19 09:46:57 +00:00
|
|
|
cleanup_src_or_obj="libburn/cleanup.o"
|
2006-09-10 10:30:30 +00:00
|
|
|
elif test "$i" = "-newapi" -o "$i" = "-experimental"
|
2006-08-24 13:41:22 +00:00
|
|
|
then
|
|
|
|
def_opts="$def_opts -DCdrskin_new_api_tesT"
|
2006-09-21 18:57:01 +00:00
|
|
|
elif test "$i" = "-oldfashioned"
|
|
|
|
then
|
|
|
|
def_opts="$def_opts -DCdrskin_oldfashioned_api_usE"
|
2006-11-16 11:17:55 +00:00
|
|
|
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
|
2006-11-01 16:39:07 +00:00
|
|
|
elif test "$i" = "-no_largefile"
|
|
|
|
then
|
|
|
|
largefile_opts=
|
2006-08-18 17:03:41 +00:00
|
|
|
elif test "$i" = "-do_not_compile_cdrskin"
|
|
|
|
then
|
|
|
|
compile_cdrskin=0
|
|
|
|
elif test "$i" = "-do_diet"
|
|
|
|
then
|
|
|
|
fifo_source=
|
|
|
|
def_opts="$def_opts -DCdrskin_extra_leaN"
|
|
|
|
warn_opts=
|
|
|
|
elif test "$i" = "-do_strip"
|
|
|
|
then
|
|
|
|
do_strip=1
|
|
|
|
elif test "$i" = "-g"
|
|
|
|
then
|
2007-09-26 17:39:35 +00:00
|
|
|
debug_opts="-g"
|
2006-08-18 17:03:41 +00:00
|
|
|
elif test "$i" = "-help" -o "$i" = "--help" -o "$i" = "-h"
|
|
|
|
then
|
2006-10-19 09:46:57 +00:00
|
|
|
echo "cdrskin/compile_cdrskin.sh : to be executed within top level directory"
|
2006-08-18 17:03:41 +00:00
|
|
|
echo "Options:"
|
|
|
|
echo " -compile_cdrfifo compile program cdrskin/cdrfifo."
|
2006-10-15 18:49:30 +00:00
|
|
|
echo " -compile_dewav compile program test/dewav without libburn."
|
2006-08-18 17:03:41 +00:00
|
|
|
echo " -cvs_A60220 set macro to match libburn-CVS of 20 Feb 2006."
|
2008-12-07 14:05:34 +00:00
|
|
|
echo " -libburn_0_5_8 set macro to match libburn-0.5.8"
|
2006-11-23 10:26:18 +00:00
|
|
|
echo " -libburn_svn set macro to match current libburn-SVN."
|
2006-11-01 16:39:07 +00:00
|
|
|
echo " -no_largefile do not use 64 bit off_t (must match libburn)."
|
2006-08-18 17:03:41 +00:00
|
|
|
echo " -do_not_compile_cdrskin omit compilation of cdrskin/cdrskin."
|
2006-09-11 14:10:42 +00:00
|
|
|
echo " -experimental use newly introduced libburn features."
|
2006-09-21 18:57:01 +00:00
|
|
|
echo " -oldfashioned use pre-0.2.2 libburn features only."
|
2006-08-18 17:03:41 +00:00
|
|
|
echo " -do_diet produce capability reduced lean version."
|
|
|
|
echo " -do_strip apply program strip to compiled programs."
|
2007-09-26 17:39:35 +00:00
|
|
|
echo " -g produce debuggable programm."
|
2006-08-18 17:03:41 +00:00
|
|
|
echo " -static compile with cc option -static."
|
|
|
|
exit 0
|
|
|
|
elif test "$i" = "-static"
|
|
|
|
then
|
|
|
|
static_opts="-static"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
timestamp="$(date -u '+%Y.%m.%d.%H%M%S')"
|
|
|
|
echo "Version timestamp : $(sed -e 's/#define Cdrskin_timestamP "//' -e 's/"$//' cdrskin/cdrskin_timestamp.h)"
|
|
|
|
echo "Build timestamp : $timestamp"
|
|
|
|
|
|
|
|
if test "$compile_cdrskin"
|
|
|
|
then
|
2006-10-03 16:37:08 +00:00
|
|
|
echo "compiling program cdrskin/cdrskin.c $static_opts $debug_opts $libvers $def_opts $cleanup_src_or_obj"
|
2006-11-01 16:39:07 +00:00
|
|
|
cc -I. \
|
|
|
|
$warn_opts \
|
|
|
|
$static_opts \
|
|
|
|
$debug_opts \
|
|
|
|
$libvers \
|
|
|
|
$largefile_opts \
|
|
|
|
$def_opts \
|
|
|
|
\
|
2006-08-18 17:03:41 +00:00
|
|
|
-DCdrskin_build_timestamP='"'"$timestamp"'"' \
|
|
|
|
\
|
|
|
|
-o cdrskin/cdrskin \
|
|
|
|
\
|
|
|
|
cdrskin/cdrskin.c \
|
|
|
|
$fifo_source \
|
2006-10-03 16:37:08 +00:00
|
|
|
\
|
|
|
|
$cleanup_src_or_obj \
|
2006-08-18 17:03:41 +00:00
|
|
|
\
|
|
|
|
libburn/async.o \
|
|
|
|
libburn/debug.o \
|
|
|
|
libburn/drive.o \
|
|
|
|
libburn/file.o \
|
|
|
|
libburn/init.o \
|
|
|
|
libburn/options.o \
|
|
|
|
libburn/source.o \
|
|
|
|
libburn/structure.o \
|
|
|
|
\
|
|
|
|
libburn/sg.o \
|
|
|
|
libburn/write.o \
|
2007-08-29 12:45:01 +00:00
|
|
|
libburn/read.o \
|
2006-10-17 14:13:30 +00:00
|
|
|
$libdax_audioxtr_o \
|
2006-09-24 17:16:01 +00:00
|
|
|
$libdax_msgs_o \
|
2006-08-18 17:03:41 +00:00
|
|
|
\
|
|
|
|
libburn/mmc.o \
|
|
|
|
libburn/sbc.o \
|
|
|
|
libburn/spc.o \
|
|
|
|
libburn/util.o \
|
|
|
|
\
|
|
|
|
libburn/sector.o \
|
|
|
|
libburn/toc.o \
|
|
|
|
\
|
|
|
|
libburn/crc.o \
|
|
|
|
libburn/lec.o \
|
|
|
|
\
|
|
|
|
-lpthread
|
2006-09-21 09:37:42 +00:00
|
|
|
|
|
|
|
ret=$?
|
|
|
|
if test "$ret" = 0
|
|
|
|
then
|
|
|
|
dummy=dummy
|
|
|
|
else
|
|
|
|
echo >&2
|
|
|
|
echo "+++ FATAL : Compilation of cdrskin failed" >&2
|
|
|
|
echo >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
2006-08-18 17:03:41 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$compile_cdrfifo" = 1
|
|
|
|
then
|
|
|
|
echo "compiling program cdrskin/cdrfifo.c $static_opts $debug_opts"
|
|
|
|
cc $static_opts $debug_opts \
|
|
|
|
-DCdrfifo_standalonE \
|
|
|
|
-o cdrskin/cdrfifo \
|
|
|
|
cdrskin/cdrfifo.c
|
2006-09-21 09:37:42 +00:00
|
|
|
|
|
|
|
ret=$?
|
|
|
|
if test "$ret" = 0
|
|
|
|
then
|
|
|
|
dummy=dummy
|
|
|
|
else
|
|
|
|
echo >&2
|
|
|
|
echo "+++ FATAL : Compilation of cdrfifo failed" >&2
|
|
|
|
echo >&2
|
|
|
|
exit 2
|
|
|
|
fi
|
2006-08-18 17:03:41 +00:00
|
|
|
fi
|
|
|
|
|
2006-10-15 18:49:30 +00:00
|
|
|
if test "$compile_dewav" = 1
|
|
|
|
then
|
|
|
|
echo "compiling program test/dewav.c -DDewav_without_libburN $static_opts $debug_opts"
|
|
|
|
cc $static_opts $debug_opts \
|
|
|
|
-DDewav_without_libburN \
|
|
|
|
-o test/dewav \
|
|
|
|
test/dewav.c \
|
|
|
|
libburn/libdax_audioxtr.o \
|
|
|
|
libburn/libdax_msgs.o \
|
|
|
|
\
|
|
|
|
-lpthread
|
|
|
|
|
|
|
|
ret=$?
|
|
|
|
if test "$ret" = 0
|
|
|
|
then
|
|
|
|
dummy=dummy
|
|
|
|
else
|
|
|
|
echo >&2
|
|
|
|
echo "+++ FATAL : Compilation of test/dewav failed" >&2
|
|
|
|
echo >&2
|
|
|
|
exit 2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2006-08-18 17:03:41 +00:00
|
|
|
if test "$do_strip" = 1
|
|
|
|
then
|
|
|
|
echo "stripping result cdrskin/cdrskin"
|
|
|
|
strip cdrskin/cdrskin
|
|
|
|
if test "$compile_cdrfifo" = 1
|
|
|
|
then
|
|
|
|
echo "stripping result cdrskin/cdrfifo"
|
|
|
|
strip cdrskin/cdrfifo
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo 'done.'
|