3 addons
="WEBIF WEBIF_LIVELOG WEBIF_JQUERY WITH_SSL HAVE_DVBAPI WITH_EXTENDED_CW WITH_NEUTRINO READ_SDT_CHARSETS CS_ANTICASC WITH_DEBUG MODULE_MONITOR WITH_LB CS_CACHEEX CS_CACHEEX_AIO CW_CYCLE_CHECK LCDSUPPORT LEDSUPPORT CLOCKFIX IPV6SUPPORT WITH_ARM_NEON"
4 protocols
="MODULE_CAMD33 MODULE_CAMD35 MODULE_CAMD35_TCP MODULE_NEWCAMD MODULE_CCCAM MODULE_CCCSHARE MODULE_GBOX MODULE_RADEGAST MODULE_SCAM MODULE_SERIAL MODULE_CONSTCW MODULE_PANDORA MODULE_GHTTP MODULE_STREAMRELAY"
5 readers
="READER_NAGRA READER_NAGRA_MERLIN READER_IRDETO READER_CONAX READER_CRYPTOWORKS READER_SECA READER_VIACCESS READER_VIDEOGUARD READER_DRE READER_TONGFANG READER_BULCRYPT READER_GRIFFIN READER_DGCRYPT"
6 card_readers
="CARDREADER_PHOENIX CARDREADER_INTERNAL CARDREADER_SC8IN1 CARDREADER_MP35 CARDREADER_SMARGO CARDREADER_DB2COM CARDREADER_STAPI CARDREADER_STAPI5 CARDREADER_STINGER CARDREADER_DRECAS"
10 CONFIG_WEBIF_LIVELOG=y
14 # CONFIG_WITH_EXTENDED_CW=n
15 # CONFIG_WITH_NEUTRINO=n
16 CONFIG_READ_SDT_CHARSETS=y
17 # CONFIG_CS_ANTICASC=n
19 CONFIG_MODULE_MONITOR=y
22 # CONFIG_CS_CACHEEX_AIO=n
23 # CONFIG_CW_CYCLE_CHECK=n
27 # CONFIG_IPV6SUPPORT=n
28 # CONFIG_WITH_ARM_NEON=n
29 # CONFIG_MODULE_CAMD33=n
30 CONFIG_MODULE_CAMD35=y
31 CONFIG_MODULE_CAMD35_TCP=y
32 CONFIG_MODULE_NEWCAMD=y
34 CONFIG_MODULE_CCCSHARE=y
36 # CONFIG_MODULE_RADEGAST=n
37 # CONFIG_MODULE_SERIAL=n
38 # CONFIG_MODULE_CONSTCW=n
39 # CONFIG_MODULE_PANDORA=n
40 # CONFIG_MODULE_SCAM=n
41 # CONFIG_MODULE_GHTTP=n
42 # CONFIG_MODULE_STREAMRELAY=n
43 CONFIG_WITH_CARDREADER=y
44 CONFIG_READER_NAGRA_COMMON=y
46 CONFIG_READER_NAGRA_MERLIN=y
47 CONFIG_READER_IRDETO=y
49 CONFIG_READER_CRYPTOWORKS=y
51 CONFIG_READER_VIACCESS=y
52 CONFIG_READER_VIDEOGUARD=y
54 CONFIG_READER_TONGFANG=y
55 CONFIG_READER_BULCRYPT=y
56 CONFIG_READER_GRIFFIN=y
57 CONFIG_READER_DGCRYPT=y
67 # CARDREADER_STINGER=n
73 Usage: `basename $0` [parameters]
75 -g, --gui Start interactive configuration
77 -s, --show-enabled [param] Show enabled configuration options.
78 -Z, --show-disabled [param] Show disabled configuration options.
79 -S, --show-valid [param] Show valid configuration options.
80 Possible params: all, addons, protocols,
83 -l, --list-config List active configuration variables.
84 -e, --enabled [option] Check if certain option is enabled.
85 -d, --disabled [option] Check if certain option is disabled.
87 -E, --enable [option] Enable config option.
88 -D, --disable [option] Disable config option.
90 The following [option]s enable or disable multiple settings.
93 protocols - All protocols.
94 readers - All readers.
95 card_readers - All card readers.
97 -R, --restore Restore default config.
99 -v, --oscam-version Display OSCam version.
100 -r, --oscam-revision Display OSCam SVN revision.
102 -O, --detect-osx-sdk-version Find where OS X SDK is located
104 -h, --help Display this help text.
107 # Enable WEBIF and SSL
108 ./config.sh --enable WEBIF WITH_SSL
110 # Disable WEBIF but enable WITH_SSL
111 ./config.sh --disable WEBIF --enable WITH_SSL
113 # Restore defaults and disable WEBIF and READER_NAGRA
114 ./config.sh --restore --disable WEBIF READER_NAGRA
116 # Use default config with only one enabled reader
117 ./config.sh --restore --disable readers --enable READER_BULCRYPT
119 # Disable everything and enable webif one module and one card reader
120 ./config.sh --disable all --enable WEBIF MODULE_NEWCAMD READER_BULCRYPT
122 # Disable all card readers except INTERNAL
123 ./config.sh -D card_readers -E CARDREADER_INTERNAL
127 protocols: $protocols
129 card_readers: $card_readers
133 # Output directory for config.mak set by --objdir parameter
136 # Use flags set by --use-flags parameter
140 for FLAG
in $USE_FLAGS
142 [ "$FLAG" = "$1" ] && return 0
149 have_flag
$opt ||
return 1
156 have_flag
$opt && return 0
162 for FLAG
in $USE_FLAGS
164 [ "$FLAG" = "$1" ] && return 1
169 not_have_all_flags
() {
171 not_have_flag
$opt ||
return 1
176 not_have_any_flags
() {
178 not_have_flag
$opt && return 0
185 grep "^\#define $1 1$" config.h
>/dev
/null
2>/dev
/null
190 grep "^\#define $1 1$" config.h
>/dev
/null
2>/dev
/null
191 test $?
= 0 && return 1
197 enabled
$opt ||
return 1
204 disabled
$opt ||
return 1
211 enabled
$opt && return 0
218 disabled
$opt && return 0
226 enabled
$OPT && echo $OPT
233 disabled
$OPT && echo $OPT
238 defined_file
="webif/is_defined.txt"
239 pages_c
="webif/pages.c"
240 rm -f $defined_file $pages_c 2>/dev
/null
241 for OPT
in $
(get_opts
) WITH_CARDREADER
243 enabled
$OPT && printf "%s\n" $OPT >> $defined_file
248 [ "$1" = "WITH_CARDREADER" ] && return 0 # Special case
249 echo $addons $protocols $readers $card_readers |
grep -w "$1" >/dev
/null
254 valid_opt
$1 && disabled
$1 && {
255 sed -e "s|//#define $1 1$|#define $1 1|g" config.h
> config.h.tmp
&& \
256 mv config.h.tmp config.h
269 valid_opt
$1 && enabled
$1 && {
270 sed -e "s|#define $1 1$|//#define $1 1|g" config.h
> config.h.tmp
&& \
271 mv config.h.tmp config.h
286 'addons') OPTS
="$addons" ; ;;
287 'protocols') OPTS
="$protocols" ; ;;
288 'readers') OPTS
="$readers" ; ;;
289 'card_readers') OPTS
="$card_readers" ; ;;
290 *) OPTS
="$addons $protocols $readers $card_readers" ; ;;
296 # Calculate dependencies
297 enabled_any $
(get_opts readers
) $
(get_opts card_readers
) && enable_opt WITH_CARDREADER
>/dev
/null
298 disabled_all $
(get_opts readers
) $
(get_opts card_readers
) && disable_opt WITH_CARDREADER
>/dev
/null
299 disabled WEBIF
&& disable_opt WEBIF_LIVELOG
>/dev
/null
300 disabled WEBIF
&& disable_opt WEBIF_JQUERY
>/dev
/null
301 enabled MODULE_CCCSHARE
&& enable_opt MODULE_CCCAM
>/dev
/null
302 enabled_any CARDREADER_DB2COM CARDREADER_MP35 CARDREADER_SC8IN1 CARDREADER_STINGER
&& enable_opt CARDREADER_PHOENIX
>/dev
/null
303 enabled CS_CACHEEX_AIO
&& enable_opt CS_CACHEEX
>/dev
/null
309 have_flag USE_STAPI
&& echo "CONFIG_WITH_STAPI=y" ||
echo "# CONFIG_WITH_STAPI=n"
310 have_flag USE_STAPI5
&& echo "CONFIG_WITH_STAPI5=y" ||
echo "# CONFIG_WITH_STAPI5=n"
311 have_flag USE_COOLAPI
&& echo "CONFIG_WITH_COOLAPI=y" ||
echo "# CONFIG_WITH_COOLAPI=n"
312 have_flag USE_COOLAPI2
&& echo "CONFIG_WITH_COOLAPI2=y" ||
echo "# CONFIG_WITH_COOLAPI2=n"
313 have_flag USE_SU980
&& echo "CONFIG_WITH_SU980=y" ||
echo "# CONFIG_WITH_SU980=n"
314 have_flag USE_AZBOX
&& echo "CONFIG_WITH_AZBOX=y" ||
echo "# CONFIG_WITH_AZBOX=n"
315 have_flag USE_MCA
&& echo "CONFIG_WITH_MCA=y" ||
echo "# CONFIG_WITH_MCA=n"
316 have_flag USE_LIBCRYPTO
&& echo "CONFIG_WITH_LIBCRYPTO=y" ||
echo "# CONFIG_WITH_LIBCRYPTO=n"
317 for OPT
in $addons $protocols WITH_CARDREADER
$readers
319 enabled
$OPT && echo "CONFIG_$OPT=y" ||
echo "# CONFIG_$OPT=n"
321 for OPT
in $card_readers
323 if [ $OPT = CARDREADER_INTERNAL
]
325 # Internal card reader is actually three different readers depending on USE flags
326 enabled
$OPT && have_flag USE_AZBOX
&& echo "CONFIG_${OPT}_AZBOX=y" ||
echo "# CONFIG_${OPT}_AZBOX=n"
327 enabled
$OPT && have_any_flags USE_COOLAPI USE_SU980
&& echo "CONFIG_${OPT}_COOLAPI=y" ||
echo "# CONFIG_${OPT}_COOLAPI=n"
328 enabled
$OPT && have_flag USE_COOLAPI2
&& echo "CONFIG_${OPT}_COOLAPI2=y" ||
echo "# CONFIG_${OPT}_COOLAPI2=n"
329 enabled
$OPT && not_have_all_flags USE_AZBOX USE_COOLAPI USE_COOLAPI2 USE_SU980
&& echo "CONFIG_${OPT}_SCI=y" ||
echo "# CONFIG_${OPT}_SCI=n"
332 if [ $OPT = CARDREADER_STAPI
]
334 # Enable CARDREADER_STAPI only if USE_STAPI is set
335 enabled
$OPT && have_flag USE_STAPI
&& echo "CONFIG_$OPT=y" ||
echo "# CONFIG_$OPT=n"
338 if [ $OPT = CARDREADER_STAPI5
]
340 # Enable CARDREADER_STAPI5 only if USE_STAPI5 is set
341 enabled
$OPT && have_flag USE_STAPI5
&& echo "CONFIG_$OPT=y" ||
echo "# CONFIG_$OPT=n"
344 enabled
$OPT && echo "CONFIG_$OPT=y" ||
echo "# CONFIG_$OPT=n"
346 have_flag USE_LIBUSB
&& echo "CONFIG_CARDREADER_SMART=y" ||
echo "# CONFIG_CARDREADER_SMART=n"
347 have_flag USE_PCSC
&& echo "CONFIG_CARDREADER_PCSC=y" ||
echo "# CONFIG_CARDREADER_PCSC=n"
348 # Extra modules/libraries
349 enabled_any MODULE_GBOX WEBIF
&& echo "CONFIG_LIB_MINILZO=y" ||
echo "# CONFIG_LIB_MINILZO=n"
350 not_have_flag USE_LIBCRYPTO
&& echo "CONFIG_LIB_AES=y" ||
echo "# CONFIG_LIB_AES=n"
351 enabled MODULE_CCCAM
&& echo "CONFIG_LIB_RC6=y" ||
echo "# CONFIG_LIB_RC6=n"
352 not_have_flag USE_LIBCRYPTO
&& enabled MODULE_CCCAM
&& echo "CONFIG_LIB_SHA1=y" ||
echo "# CONFIG_LIB_SHA1=n"
353 enabled_any READER_DRE MODULE_SCAM READER_VIACCESS READER_NAGRA READER_NAGRA_MERLIN READER_VIDEOGUARD READER_CONAX
&& echo "CONFIG_LIB_DES=y" ||
echo "# CONFIG_LIB_DES=n"
354 enabled_any MODULE_CCCAM READER_NAGRA READER_NAGRA_MERLIN READER_SECA
&& echo "CONFIG_LIB_IDEA=y" ||
echo "# CONFIG_LIB_IDEA=n"
355 not_have_flag USE_LIBCRYPTO
&& enabled_any READER_CONAX READER_CRYPTOWORKS READER_NAGRA READER_NAGRA_MERLIN
&& echo "CONFIG_LIB_BIGNUM=y" ||
echo "# CONFIG_LIB_BIGNUM=n"
356 enabled READER_NAGRA_MERLIN
&& echo "CONFIG_LIB_MDC2=y" ||
echo "# CONFIG_LIB_MDC2=n"
357 enabled READER_NAGRA_MERLIN
&& echo "CONFIG_LIB_FAST_AES=y" ||
echo "# CONFIG_LIB_FAST_AES=n"
358 enabled READER_NAGRA_MERLIN
&& echo "CONFIG_LIB_SHA256=y" ||
echo "# CONFIG_LIB_SHA256=n"
359 enabled_any READER_NAGRA READER_NAGRA_MERLIN
&& echo "CONFIG_READER_NAGRA_COMMON=y" ||
echo "# CONFIG_READER_NAGRA_COMMON=n"
363 OPENSSL
=$
(which openssl
2>/dev
/null
)
364 if [ "$OPENSSL" = "" ]
366 echo "// openssl not found!"
367 echo "const char *config_mak = \"CFG: openssl not found in PATH!\";"
369 echo "// This file is generated by ./config.sh --objdir $OBJDIR --make-config.mak"
370 echo "const char *config_mak ="
371 printf " \"\\\nCFG: strings FILE | sed -n 's/^CFG~//p' | openssl enc -d -base64 | gzip -d\\\n\"\n"
372 gzip -9 < $OBJDIR/config.mak |
$OPENSSL enc
-base64 |
while read LINE
374 printf " \"CFG~%s\\\\n\"\n" "$LINE"
381 TMPFILE
=$
(mktemp
-t config.mak.XXXXXX
) ||
exit 1
382 list_config
> $TMPFILE
383 [ ! -d $OBJDIR ] && mkdir
-p $OBJDIR 2>/dev
/null
384 cmp $TMPFILE $OBJDIR/config.mak
>/dev
/null
2>/dev
/null
387 cat $TMPFILE > $OBJDIR/config.mak
388 make_config_c
> $OBJDIR/config.c
390 make_config_c
> $TMPFILE
391 cmp $TMPFILE $OBJDIR/config.c
>/dev
/null
2>/dev
/null
392 [ $?
!= 0 ] && cat $TMPFILE > $OBJDIR/config.c
398 if [ "$(cat $tempfileconfig | grep "^
#define $1 1$")" != "" ]; then
407 sed -e "s/^#define ${i} 1$/\/\/#define ${i} 1/g" $tempfileconfig > ${tempfileconfig}.tmp && \
408 mv ${tempfileconfig}.tmp $tempfileconfig
413 for i in $(cat $tempfile); do
414 strip=$(echo $i | sed "s
/\"//g
")
415 sed -e "s
/\
/\
/#define ${strip} 1$/#define ${strip} 1/g" $tempfileconfig > ${tempfileconfig}.tmp && \
416 mv ${tempfileconfig}.tmp
$tempfileconfig
422 echo "You have selected the following components:"
426 printf "\t%-20s: %s\n" $i $
(check_test
"$i")
431 for i
in $protocols; do
432 printf "\t%-20s: %s\n" $i $
(check_test
"$i")
437 for i
in $readers; do
438 printf "\t%-20s: %s\n" $i $
(check_test
"$i")
443 for i
in $card_readers; do
444 printf "\t%-20s: %s\n" $i $
(check_test
"$i")
447 cp -f $tempfileconfig $configfile
451 ${DIALOG} --checklist "\nChoose add-ons:\n " $height $width $listheight \
452 WEBIF
"Web Interface" $
(check_test
"WEBIF") \
453 WEBIF_LIVELOG
"LiveLog" $
(check_test
"WEBIF_LIVELOG") \
454 WEBIF_JQUERY
"Jquery onboard (if disabled webload)" $
(check_test
"WEBIF_JQUERY") \
455 WITH_SSL
"OpenSSL support" $
(check_test
"WITH_SSL") \
456 HAVE_DVBAPI
"DVB API" $
(check_test
"HAVE_DVBAPI") \
457 WITH_EXTENDED_CW
"DVB API EXTENDED CW API" $
(check_test
"WITH_EXTENDED_CW") \
458 WITH_NEUTRINO
"Neutrino support" $
(check_test
"WITH_NEUTRINO") \
459 READ_SDT_CHARSETS
"DVB API read-sdt charsets" $
(check_test
"READ_SDT_CHARSETS") \
460 CS_ANTICASC
"Anti cascading" $
(check_test
"CS_ANTICASC") \
461 WITH_DEBUG
"Debug messages" $
(check_test
"WITH_DEBUG") \
462 MODULE_MONITOR
"Monitor" $
(check_test
"MODULE_MONITOR") \
463 WITH_LB
"Loadbalancing" $
(check_test
"WITH_LB") \
464 CS_CACHEEX
"Cache exchange" $
(check_test
"CS_CACHEEX") \
465 CS_CACHEEX_AIO
"Cache exchange aio (depend on Cache exchange)" $
(check_test
"CS_CACHEEX_AIO") \
466 CW_CYCLE_CHECK
"CW Cycle Check" $
(check_test
"CW_CYCLE_CHECK") \
467 LCDSUPPORT
"LCD support" $
(check_test
"LCDSUPPORT") \
468 LEDSUPPORT
"LED support" $
(check_test
"LEDSUPPORT") \
469 CLOCKFIX
"Clockfix (disable on old systems!)" $
(check_test
"CLOCKFIX") \
470 IPV6SUPPORT
"IPv6 support (experimental)" $
(check_test
"IPV6SUPPORT") \
471 WITH_ARM_NEON
"ARM NEON (SIMD/MPE) support" $
(check_test
"WITH_ARM_NEON") \
475 if [ $opt != 0 ]; then return; fi
477 disable_all
"$addons"
482 ${DIALOG} --checklist "\nChoose protocols:\n " $height $width $listheight \
483 MODULE_CAMD33
"camd 3.3" $
(check_test
"MODULE_CAMD33") \
484 MODULE_CAMD35
"camd 3.5 UDP" $
(check_test
"MODULE_CAMD35") \
485 MODULE_CAMD35_TCP
"camd 3.5 TCP" $
(check_test
"MODULE_CAMD35_TCP") \
486 MODULE_NEWCAMD
"newcamd" $
(check_test
"MODULE_NEWCAMD") \
487 MODULE_CCCAM
"CCcam" $
(check_test
"MODULE_CCCAM") \
488 MODULE_CCCSHARE
"CCcam share" $
(check_test
"MODULE_CCCSHARE") \
489 MODULE_GBOX
"gbox" $
(check_test
"MODULE_GBOX") \
490 MODULE_RADEGAST
"radegast" $
(check_test
"MODULE_RADEGAST") \
491 MODULE_SERIAL
"Serial" $
(check_test
"MODULE_SERIAL") \
492 MODULE_CONSTCW
"constant CW" $
(check_test
"MODULE_CONSTCW") \
493 MODULE_PANDORA
"Pandora" $
(check_test
"MODULE_PANDORA") \
494 MODULE_GHTTP
"Ghttp" $
(check_test
"MODULE_GHTTP") \
495 MODULE_SCAM
"scam" $
(check_test
"MODULE_SCAM") \
496 MODULE_STREAMRELAY
"Stream Relay" $
(check_test
"MODULE_STREAMRELAY") \
500 if [ $opt != 0 ]; then return; fi
502 disable_all
"$protocols"
507 ${DIALOG} --checklist "\nChoose readers (CA systems):\n " $height $width $listheight \
508 READER_NAGRA
"Nagravision" $
(check_test
"READER_NAGRA") \
509 READER_NAGRA_MERLIN
"Nagra Merlin" $
(check_test
"READER_NAGRA_MERLIN") \
510 READER_IRDETO
"Irdeto" $
(check_test
"READER_IRDETO") \
511 READER_CONAX
"Conax" $
(check_test
"READER_CONAX") \
512 READER_CRYPTOWORKS
"Cryptoworks" $
(check_test
"READER_CRYPTOWORKS") \
513 READER_SECA
"Seca" $
(check_test
"READER_SECA") \
514 READER_VIACCESS
"Viaccess" $
(check_test
"READER_VIACCESS") \
515 READER_VIDEOGUARD
"NDS Videoguard" $
(check_test
"READER_VIDEOGUARD") \
516 READER_DRE
"DRE Crypt" $
(check_test
"READER_DRE") \
517 READER_TONGFANG
"Tongfang" $
(check_test
"READER_TONGFANG") \
518 READER_BULCRYPT
"Bulcrypt" $
(check_test
"READER_BULCRYPT") \
519 READER_GRIFFIN
"Griffin" $
(check_test
"READER_GRIFFIN") \
520 READER_DGCRYPT
"DGCrypt" $
(check_test
"READER_DGCRYPT") \
524 if [ $opt != 0 ]; then return; fi
526 disable_all
"$readers"
530 menu_card_readers
() {
531 ${DIALOG} --checklist "\nChoose card reader drivers:\n " $height $width $listheight \
532 CARDREADER_PHOENIX
"Phoenix/mouse" $
(check_test
"CARDREADER_PHOENIX") \
533 CARDREADER_INTERNAL
"Internal (Sci,Azbox,Cool)" $
(check_test
"CARDREADER_INTERNAL") \
534 CARDREADER_SC8IN1
"SC8in1" $
(check_test
"CARDREADER_SC8IN1") \
535 CARDREADER_MP35
"AD-Teknik MP 3.6/USB Phoenix" $
(check_test
"CARDREADER_MP35") \
536 CARDREADER_SMARGO
"Argolis Smargo Smartreader" $
(check_test
"CARDREADER_SMARGO") \
537 CARDREADER_DB2COM
"dbox2" $
(check_test
"CARDREADER_DB2COM") \
538 CARDREADER_STAPI
"STAPI" $
(check_test
"CARDREADER_STAPI") \
539 CARDREADER_STAPI5
"STAPI5" $
(check_test
"CARDREADER_STAPI5") \
540 CARDREADER_STINGER
"STINGER" $
(check_test
"CARDREADER_STINGER") \
541 CARDREADER_DRECAS
"DRECAS" $
(check_test
"CARDREADER_DRECAS") \
545 if [ $opt != 0 ]; then return; fi
547 disable_all
"$card_readers"
557 DIALOG
=${DIALOG:-`which dialog`}
558 if [ -z "${DIALOG}" ]; then
559 echo "Please install dialog package." 1>&2
564 tempfile
=$
(mktemp
-t oscam-config.dialog.XXXXXX
) ||
exit 1
565 tempfileconfig
=$
(mktemp
-t oscam-config.h.XXXXXX
) ||
exit 1
566 trap 'rm -f $tempfile $tempfileconfig $tempfileconfig.bak 2>/dev/null' INT TERM EXIT
567 cp -f $configfile $tempfileconfig
570 ${DIALOG} --menu "\nSelect category:\n " $height $width $listheight \
572 Protocols
"Network protocols" \
573 Readers
"Readers (CA systems)" \
574 CardReaders
"Card reader drivers" \
579 if [ $opt != 0 ]; then clear; exit; fi
581 menuitem
=$
(cat $tempfile)
583 Add-ons
) menu_addons
;;
584 Protocols
) menu_protocols
;;
585 Readers
) menu_readers
;;
586 CardReaders
) menu_card_readers
;;
597 # Change working directory to the directory where the script is
609 '-g'|
'--gui'|
'--config'|
'--menuconfig')
613 '-s'|
'--show-enabled'|
'--show')
615 list_enabled $
(get_opts
$1)
616 # Take special care of USE_xxx flags
617 if [ "$1" = "card_readers" ]
619 have_flag USE_LIBUSB
&& echo "CARDREADER_SMART"
620 have_flag USE_PCSC
&& echo "CARDREADER_PCSC"
624 '-Z'|
'--show-disabled')
626 list_disabled $
(get_opts
$1)
631 for OPT
in $
(get_opts
$1)
646 all|addons|protocols|readers|card_readers
)
647 enable_opts $
(get_opts
$1)
667 all|addons|protocols|readers|card_readers
)
668 disable_opts $
(get_opts
$1)
680 echo $defconfig |
sed -e 's|# ||g' |
xargs printf "%s\n" |
grep "=y$" |
sed -e 's|^CONFIG_||g;s|=.*||g' |
685 echo $defconfig |
sed -e 's|# ||g' |
xargs printf "%s\n" |
grep "=n$" |
sed -e 's|^CONFIG_||g;s|=.*||g' |
694 enabled
$2 && echo "Y" && exit 0 ||
echo "N" && exit 1
698 disabled
$2 && echo "Y" && exit 0 ||
echo "N" && exit 1
701 '-v'|
'--oscam-version')
702 grep CS_VERSION globals.h | cut
-d\" -f2
705 '-r'|
'--oscam-revision')
706 revision
=`(svnversion -n . 2>/dev/null || printf 0) | sed 's/.*://; s/[^0-9]*$//; s/^$/0/'`
707 if [ "$revision" = "0" ]
709 which git
> /dev
/null
2>&1 && revision
=`git log -10 --pretty=%B | grep git-svn-id | head -n 1 | sed -n -e 's/^.*trunk@\([0-9]*\) .*$/\1/p'`
714 '-O'|
'--detect-osx-sdk-version')
717 for DIR
in /Applications
/Xcode.app
/Contents
/Developer
/Platforms
/MacOSX.platform
/Developer
/SDKs
/MacOSX
{$OSX_VER,10.10,10.9,10.8,10.7}.sdk
/Developer
/SDKs
/MacOSX
{$OSX_VER,10.6,10.5}.sdk
726 echo Cant_find_OSX_SDK
729 '-l'|
'--list-config')
733 '-m'|
'--make-config.mak')
750 echo "[WARN] Unknown parameter: $1" >&2
753 # Some shells complain when there are no more parameters to shift
754 test $# -gt 0 && shift