You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							703 lines
						
					
					
						
							17 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							703 lines
						
					
					
						
							17 KiB
						
					
					
				
								#!/bin/bash
							 | 
						|
								
							 | 
						|
								CPUS(){
							 | 
						|
									nproc
							 | 
						|
								}
							 | 
						|
								clean(){
							 | 
						|
									_clean
							 | 
						|
								}
							 | 
						|
								_nl(){
							 | 
						|
									printf "$rs_\n"
							 | 
						|
								}
							 | 
						|
								_set_dialog_types(){
							 | 
						|
									gui="$(which dialog)"
							 | 
						|
									st_="--stdout"
							 | 
						|
									ib_="--infobox"
							 | 
						|
									ip_="--inputbox"
							 | 
						|
									nc_="--no-cancel"
							 | 
						|
									cl_="--checklist"
							 | 
						|
									rl_="--radiolist"
							 | 
						|
									bt_="--backtitle"
							 | 
						|
									pb_="--progressbox"
							 | 
						|
									title_="SIMPLEBUILD_V($SIMPLEVERSION)"
							 | 
						|
								}
							 | 
						|
								cedit(){
							 | 
						|
									s3cfg_menu
							 | 
						|
									bye
							 | 
						|
								}
							 | 
						|
								counter(){
							 | 
						|
									COUNT="$((COUNT+1))"
							 | 
						|
								}
							 | 
						|
								timer_calc(){
							 | 
						|
									Tcalc="$((Te-Ts))"
							 | 
						|
								}
							 | 
						|
								timer_stop(){
							 | 
						|
									Te="$(date +%s)"
							 | 
						|
								}
							 | 
						|
								timer_start(){
							 | 
						|
									Ts="$(date +%s)"
							 | 
						|
								}
							 | 
						|
								decode(){
							 | 
						|
									printf "$1" | base64 -d
							 | 
						|
								}
							 | 
						|
								get_module_name(){
							 | 
						|
									printf "${INTERNAL_MODULES[$1]}"
							 | 
						|
								}
							 | 
						|
								gitrevision(){
							 | 
						|
									svn info $1 |grep Rev: |cut -d " " -f 4
							 | 
						|
								}
							 | 
						|
								_wait(){
							 | 
						|
									printf "$w_l\n"
							 | 
						|
									read -n1 -r -p "  $txt_help3" key
							 | 
						|
									tput cuu1
							 | 
						|
									printf '                                          '
							 | 
						|
								}
							 | 
						|
								_systype(){
							 | 
						|
									systype="bad"
							 | 
						|
									case "$(uname -m)" in
							 | 
						|
										x86|x86_64|amd64|i686)
							 | 
						|
											systype="ok";;
							 | 
						|
									esac
							 | 
						|
								}
							 | 
						|
								_pcsc_on(){
							 | 
						|
									sed -i 's@^//#define CARDREADER_PCSC 1@#define CARDREADER_PCSC 1@g' "$svndir/config.h"
							 | 
						|
								}
							 | 
						|
								_pcsc_off(){
							 | 
						|
									sed -i 's@^#define CARDREADER_PCSC 1@//#define CARDREADER_PCSC 1@g' "$svndir/config.h"
							 | 
						|
								}
							 | 
						|
								_stapi5_on(){
							 | 
						|
									sed -i 's@^//#define CARDREADER_STAPI5 1@#define CARDREADER_STAPI5 1@g' "$svndir/config.h"
							 | 
						|
								}
							 | 
						|
								_stapi5_off(){
							 | 
						|
									sed -i 's@^#define CARDREADER_STAPI5 1@//#define CARDREADER_STAPI5 1@g' "$svndir/config.h"
							 | 
						|
								}
							 | 
						|
								_generate_oscam_name(){
							 | 
						|
									cd "$svndir";_dvbapi=$(
							 | 
						|
									[ "$(./config.sh --enabled HAVE_DVBAPI)" == Y ] && echo -dvbapi || printf ''; );_webif=$(
							 | 
						|
									[ "$(./config.sh --enabled WEBIF)" == Y ] && echo -webif || printf ''; );_ssl=$(
							 | 
						|
									[ "$(./config.sh --enabled WITH_SSL)" == Y ] && echo -ssl || printf ''; );_emu=$(
							 | 
						|
									[ "$(./config.sh --enabled WITH_EMU)" == Y ] && echo -emu$(./config.sh --emu-version) || printf ''; );_ipv6=$(
							 | 
						|
									[ "$(./config.sh --enabled IPV6SUPPORT)" == Y ] && echo -ipv6 || printf ''; )
							 | 
						|
									[ "${USE_vars[USE_COMPRESS]}" == "USE_COMPRESS=1" ] && _upx="-upx" || _upx=''
							 | 
						|
									[ "$1" == "native" ] && _b_name="$(hostname)" || _b_name="$1"
							 | 
						|
									if [ "${s3cfg_vars[ADD_PROFILE_NAME]}" == "0" ] || [ $pf_name == "not_set" ]
							 | 
						|
									then
							 | 
						|
										oscam_name="oscam-svn$(REVISION)-$_b_name$_webif$_dvbapi$_ssl$_usb$_pcsc$_stapi$_stapi5$_emu$_ipv6$_upx"
							 | 
						|
									else
							 | 
						|
										oscam_name="oscam-svn$(REVISION)-${pf_name%.*}";
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								e_readers(){
							 | 
						|
									silent=$("$svndir/config.sh" -s readers)
							 | 
						|
									echo ${silent//READER_/}
							 | 
						|
								}
							 | 
						|
								e_protocols() {
							 | 
						|
									silent=$("$svndir/config.sh" -s protocols)
							 | 
						|
									echo ${silent//MODULE_/}
							 | 
						|
								}
							 | 
						|
								e_card_readers(){
							 | 
						|
									silent=$("$svndir/config.sh" -s card_readers)
							 | 
						|
									echo ${silent//CARDREADER_/}
							 | 
						|
								}
							 | 
						|
								e_addons(){
							 | 
						|
									"$svndir/config.sh" -s addons |sed 's/WEBIF_//g;s/WITH_//g;s/MODULE_//g;s/CS_//g;s/HAVE_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g'
							 | 
						|
								}
							 | 
						|
								sysinfo(){
							 | 
						|
									printf "$g_l\nSYSTEM$w_l\n"
							 | 
						|
									system_info=$(which lsb_release)
							 | 
						|
									[ ${#system_info} -ge 11 ] && lsb_release -irc
							 | 
						|
									printf "Uptime:\t\t$(uptime -p)\n"
							 | 
						|
									printf "$g_l\nMEMORY$w_l\n"
							 | 
						|
									free -mht | awk '/Mem/{print "Memory:\t\tTotal: " $2 "Mb\tUsed: " $3 "Mb\tFree: " $4 "Mb"} /Swap/{print "Swap:\t\tTotal: " $2 "Mb\tUsed: " $3 "Mb\tFree: " $4 "Mb" }'
							 | 
						|
									[ -f /sys/dev/block ] && lsblk
							 | 
						|
									printf "$g_l\n CPU$w_l\n"
							 | 
						|
									cpu_info=$(which lscpu)
							 | 
						|
									[ ${#cpu_info} -ge 5 ] && lscpu | grep -iE 'model name|vendor id|Architecture|per socket|MHz'
							 | 
						|
									printf "$g_l\nNetwork\n"
							 | 
						|
									printf "$w_l""Hostname:\t$HOSTNAME\n"
							 | 
						|
									ip -o addr | awk '/inet /{print "IP (" $2 "):\t" $4}'
							 | 
						|
									ip route | awk '/default/ { printf "Gateway:\t"$3"\n" }'
							 | 
						|
									awk '/^nameserver/{ printf "Name Server:\t" $2 "\n"}' /etc/resolv.conf
							 | 
						|
									printf "$re_\n"
							 | 
						|
									exit
							 | 
						|
								}
							 | 
						|
								_pget(){
							 | 
						|
									tc_dl="$dldir/$(decode "$_t1e""$_toolchainfilename")"
							 | 
						|
									[ -f "$tc_dl" ] && rm -rf "$tc_dl"
							 | 
						|
									cd "$dldir"
							 | 
						|
									zeile=$(expr 12+$zzusatz)
							 | 
						|
									spalte=$(expr 17+$szusatz)
							 | 
						|
								tput sc
							 | 
						|
									wget -N -q --show-progress --progress=dot "$(decode "$_u1e")/$dln" 2>&1 |
							 | 
						|
									awk '{ printf "\033["'$zeile'";"'$spalte'"H\033[K%-4s ", $7; } { printf "'"$txt_wait >"'";} { printf " %-6s",$9; }'
							 | 
						|
								tput rc
							 | 
						|
									echo -e " 100%                                     "
							 | 
						|
								}
							 | 
						|
								_clean(){
							 | 
						|
									[ -L "$workdir/lastbuild.log" ] && rm -rf "$workdir/lastbuild.log"
							 | 
						|
									[ -L "$workdir/lastpatch.log" ] && rm -rf "$workdir/lastpatch.log"
							 | 
						|
									clear
							 | 
						|
									printf "$w_l"
							 | 
						|
									ologo
							 | 
						|
									for e in "$menudir" "$bdir" "$ldir" "$tcdir"
							 | 
						|
									do
							 | 
						|
										printf "  $r_l$txt_delete$w_l\t$e\n"| sed "s@$workdir@@g"
							 | 
						|
									done
							 | 
						|
									rm -rf "$menudir" "$bdir" "$ldir" "$tcdir" 2>/dev/null
							 | 
						|
									for e in "$menudir" "$bdir" "$ldir" "$tcdir"
							 | 
						|
									do
							 | 
						|
										printf "  $g_l$txt_create$w_l\t$e\n"| sed "s@$workdir@@g"
							 | 
						|
									done
							 | 
						|
									mkdir -p "$menudir" "$bdir" "$ldir" "$tcdir" 2>/dev/null
							 | 
						|
									sleep 2
							 | 
						|
									svnrestore
							 | 
						|
									_nl
							 | 
						|
								}
							 | 
						|
								_sz(){
							 | 
						|
									lmin=24
							 | 
						|
									lmax=40
							 | 
						|
									_lin=$(tput lines)
							 | 
						|
									cmin=79
							 | 
						|
									cmax=200
							 | 
						|
									_col=$(tput cols)
							 | 
						|
									if [ "$_lin" -gt "$lmin" ]
							 | 
						|
									then
							 | 
						|
										if [ "$_lin" -lt "$lmax" ] || [ "$_lin" -eq "$lmax" ]
							 | 
						|
										then
							 | 
						|
											_lines="$((_lin-6))"
							 | 
						|
										fi
							 | 
						|
										if [ "$_lin" -gt "$lmax" ]
							 | 
						|
										then
							 | 
						|
											_lines="$((lmax-6))"
							 | 
						|
										fi
							 | 
						|
									fi
							 | 
						|
									if [ "$_col" -gt "$cmin" ]
							 | 
						|
									then
							 | 
						|
										if [ "$_col" -lt "$cmax" ] || [ "$_col" -eq "$cmax" ]
							 | 
						|
										then
							 | 
						|
											_cols="$((_col-6))"
							 | 
						|
										fi
							 | 
						|
										if [ "$_col" -gt "$cmax" ]
							 | 
						|
										then
							 | 
						|
											_cols="$((cmax-6))"
							 | 
						|
										fi
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								save_master(){
							 | 
						|
									[ -f "$svndir/config.sh" ] && cp -f "$svndir/config.sh" "$configdir/config.sh.master"
							 | 
						|
									[ -f "$svndir/Makefile" ] && cp -f "$svndir/Makefile" "$configdir/Makefile.master"
							 | 
						|
								}
							 | 
						|
								_pre_build(){
							 | 
						|
									_oscamconfdir_default=""
							 | 
						|
									_oscamconfdir_custom=""
							 | 
						|
									source "$tccfgdir/$1"
							 | 
						|
									clear
							 | 
						|
									_nl
							 | 
						|
									printf $WH
							 | 
						|
									ologo
							 | 
						|
									_tcfile=""
							 | 
						|
									dln="$(decode "$_t1e")$(decode "$_toolchainfilename")"
							 | 
						|
									tc_dl="$dldir/$dln"
							 | 
						|
									if [ -f "$tcdir/$_toolchainname/bin/$_compiler""gcc" ]
							 | 
						|
									then
							 | 
						|
										if [ "$run" == "0" ]
							 | 
						|
										then
							 | 
						|
											printf "$w_l   toolchain :$y_l $_toolchainname\n"
							 | 
						|
											printf "$w_l      status :$g_l compiler $txt_found \n"
							 | 
						|
											printf "$w_l    compiler :$p_l $_compiler""gcc\n"
							 | 
						|
										else
							 | 
						|
											printf "$w_l   toolchain :$y_l $_toolchainname      \n"
							 | 
						|
											printf "$w_l     recheck :$g_l ok $txt_now compiler $txt_found\n"
							 | 
						|
											printf "$w_l    compiler :$p_l $_compiler""gcc      \n"
							 | 
						|
										fi
							 | 
						|
									else
							 | 
						|
										[ "$run" == "1" ] && echo "$txt_error : build not possible\n" && exit
							 | 
						|
										_nl
							 | 
						|
										printf "$w_l     toolchain :$y_l $_toolchainname   \n"
							 | 
						|
										printf "$w_l        status :$r_l compiler $txt_not_found\n"
							 | 
						|
										printf "$w_l   backupcheck : "
							 | 
						|
										if [ -f "$dldir/$dln" ]
							 | 
						|
										then
							 | 
						|
											printf  "$g_l$dln $txt_found\n"
							 | 
						|
											printf "$w_l    $txt_extracting :$y_l $txt_wait"
							 | 
						|
											_console_extract_toolchain
							 | 
						|
											sleep 1
							 | 
						|
											run=1
							 | 
						|
										else
							 | 
						|
											printf  "$r_l$dln $txt_not_found \n"
							 | 
						|
											printf "$w_l      $txt_loading :$g_l"
							 | 
						|
											zzusatz=0
							 | 
						|
											szusatz=1
							 | 
						|
											_pget
							 | 
						|
											printf "$w_l    $txt_extracting :$y_l $txt_wait"
							 | 
						|
											_console_extract_toolchain
							 | 
						|
											sleep 1
							 | 
						|
											run=1
							 | 
						|
										fi
							 | 
						|
										_pre_build "$1"
							 | 
						|
									fi
							 | 
						|
									_cmd_build "$_toolchainname"
							 | 
						|
								}
							 | 
						|
								_init_menu(){
							 | 
						|
									IFS="#"
							 | 
						|
									COUNT=0
							 | 
						|
									MENU_OPTIONS="BACK#$txt_back#"
							 | 
						|
									counter
							 | 
						|
								}
							 | 
						|
								_select_menu(){
							 | 
						|
									revision_="$(REVISION)"
							 | 
						|
									_menutext="Simplebuild V$SIMPLEVERSION by Gorgone"
							 | 
						|
									smenu=$(
							 | 
						|
									"$gui" "$st_" "$bt_" "$title_" "$nc_" --title "-[ $txt_start_menu ]-" --menu "\n $_menutext" 13 55 7 "Continue" "$txt_firstmenu_continue r$revision_" "CHANGE" "$txt_firstmenu_chose" "CEDIT" "$txt_firstmenu_cedit" "TCUPDATE" "$txt_firstmenu_tcupdate" "LANG" "$txt_firstmenu_lang" "EXIT" "$txt_firstmenu_exit")
							 | 
						|
									[ $? = 255 ] && _select_menu
							 | 
						|
								
							 | 
						|
									case $smenu in
							 | 
						|
										Continue)
							 | 
						|
													if [ ! -f "$svndir/config.sh" ]
							 | 
						|
													then
							 | 
						|
														"$gui" "$st_" "$bt_" "$title_" --infobox "\n  $txt_no oscam-svn $txt_found" 5 35
							 | 
						|
														sleep 2
							 | 
						|
														_select_menu
							 | 
						|
													else
							 | 
						|
														_toolchain_main_menu
							 | 
						|
													fi;;
							 | 
						|
										CHANGE)
							 | 
						|
													new_rev=$("$gui" "$st_" "$nc_" --cr-wrap "$ip_" "Revision: 7000+ \nRevision: 0 = $txt_latest" 9 35)
							 | 
						|
													[[ $new_rev =~ ^-?[0-9]+$ ]] && [ ! "$new_rev" -le "7000" ] && _rev="$new_rev" || _rev=0
							 | 
						|
													_dialog_checkout1 "$_rev"
							 | 
						|
													_select_menu;;
							 | 
						|
										CEDIT)
							 | 
						|
													s3cfg_menu
							 | 
						|
													_select_menu;;
							 | 
						|
										TCUPDATE)
							 | 
						|
													tcupdate "" "" "" "1"
							 | 
						|
													_select_menu;;
							 | 
						|
										LANG)
							 | 
						|
													lang_select
							 | 
						|
													cd "$workdir"
							 | 
						|
													./s3 menu;;
							 | 
						|
										EXIT)
							 | 
						|
													bye;;
							 | 
						|
									esac
							 | 
						|
								exit
							 | 
						|
								}
							 | 
						|
								_oscam_extra_menu(){
							 | 
						|
									uv=
							 | 
						|
									check_smargo
							 | 
						|
									unset MENU_OPTIONS
							 | 
						|
								
							 | 
						|
									for e in "${!USE_vars[@]}"
							 | 
						|
									do
							 | 
						|
										if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_COMPRESS" ] && [ ! "$e" == "USE_PATCH" ] && [ ! "$e" == "USE_LIBUSB" ]
							 | 
						|
										then
							 | 
						|
											if [ "${#USE_vars[$e]}" -gt "4" ]
							 | 
						|
											then
							 | 
						|
												MENU_OPTIONS+=( "$e" "$e" on )
							 | 
						|
											else
							 | 
						|
												MENU_OPTIONS+=( "$e" "$e" off )
							 | 
						|
											fi
							 | 
						|
										fi
							 | 
						|
									done
							 | 
						|
								
							 | 
						|
									oextra=$("$gui" "$st_" "$nc_" "$bt_" "$title_" --title "-[ Oscam EXTRA ]-" "$cl_" " OPTIONS " 19 40 12 ${MENU_OPTIONS[@]});
							 | 
						|
									[ $? = 255 ] && _toolchain_extra_menu
							 | 
						|
								
							 | 
						|
									for e in "${!USE_vars[@]}"
							 | 
						|
									do
							 | 
						|
										if [ ! "$e" == "USE_TARGZ" ] && [ ! "$e" == "USE_COMPRESS" ] && [ ! "$e" == "USE_PATCH" ] && [ ! "$e" == "USE_LIBUSB" ]
							 | 
						|
										then
							 | 
						|
											ok=0
							 | 
						|
											for oex in $oextra
							 | 
						|
											do
							 | 
						|
												o=$(echo "$oex" | tr -d '"')
							 | 
						|
												[ "$e" == "$o" ] && ok=1
							 | 
						|
											done
							 | 
						|
											if [ "$ok" == "1" ]
							 | 
						|
											then
							 | 
						|
												USE_vars[$e]="$e=1"
							 | 
						|
											else
							 | 
						|
												USE_vars[$e]=
							 | 
						|
											fi
							 | 
						|
										fi
							 | 
						|
									done
							 | 
						|
								
							 | 
						|
									[ "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ] && _pcsc_on
							 | 
						|
									[ ! "${USE_vars[USE_PCSC]}" == "USE_PCSC=1" ] && _pcsc_off
							 | 
						|
									save_config
							 | 
						|
									_toolchain_config_menu
							 | 
						|
								}
							 | 
						|
								_build_extra_menu(){
							 | 
						|
									us=
							 | 
						|
									check_smargo
							 | 
						|
									unset MENU_OPTIONS
							 | 
						|
									for e in USE_COMPRESS USE_TARGZ USE_PATCH
							 | 
						|
									do
							 | 
						|
										[ "${#USE_vars[$e]}" -gt "4" ] && MENU_OPTIONS+=( "$e" "$e=1" on ) || MENU_OPTIONS+=( "$e" "$e=1" off )
							 | 
						|
									done
							 | 
						|
									bextra=$("$gui" "$st_" "$nc_" "$bt_" "$title_" --title "-[ Build EXTRA ]-" "$cl_" " OPTIONS " 10 40 3 ${MENU_OPTIONS[@]})
							 | 
						|
									[ $? = 255 ] && _build_extra_menu
							 | 
						|
									USE_vars[USE_COMPRESS]=
							 | 
						|
									USE_vars[USE_PATCH]=
							 | 
						|
									USE_vars[USE_TARGZ]=
							 | 
						|
									for bex in $bextra
							 | 
						|
									do
							 | 
						|
										b=$(echo "$bex" | tr -d '"')
							 | 
						|
										USE_vars[$b]="$b=1"
							 | 
						|
									done
							 | 
						|
									save_config
							 | 
						|
									_toolchain_config_menu
							 | 
						|
								}
							 | 
						|
								_pre_main_menu(){
							 | 
						|
									IFS="#"
							 | 
						|
									COUNT=0
							 | 
						|
									MENU_OPTIONS="EXIT#$txt_menu_builder1#"
							 | 
						|
									counter
							 | 
						|
									MENU_OPTIONS=${MENU_OPTIONS}"ADD#$txt_menu_builder2#"
							 | 
						|
									counter
							 | 
						|
								
							 | 
						|
									if [ "$tcempty" == "0" ]
							 | 
						|
									then
							 | 
						|
										MENU_OPTIONS="${MENU_OPTIONS}REMOVE#$txt_menu_builder3#"
							 | 
						|
										counter
							 | 
						|
									fi
							 | 
						|
								
							 | 
						|
									MENU_OPTIONS="${MENU_OPTIONS}NATIVE#$txt_menu_builder4$native#"
							 | 
						|
									counter
							 | 
						|
									_a=$(uname -m)
							 | 
						|
								
							 | 
						|
									if [ "$systype" == "ok" ]
							 | 
						|
									then
							 | 
						|
										if [ "$tcempty" == "0" ]
							 | 
						|
										then
							 | 
						|
											for i in "${INST_TCLIST[@]}"
							 | 
						|
											do
							 | 
						|
												source "$tccfgdir/$i"
							 | 
						|
												MENU_OPTIONS="${MENU_OPTIONS}$_toolchainname#$_description#"
							 | 
						|
												counter
							 | 
						|
											done
							 | 
						|
										fi
							 | 
						|
									fi
							 | 
						|
								
							 | 
						|
									out=$("$gui" --help-button --help-label INFO --title "-[ Toolchain Menu V$SIMPLEVERSION ]-" --menu "$txt_t_menu1$REVISION" "${COUNT+8}" 75 0 "${MENU_OPTIONS}")
							 | 
						|
									IFS=$OIFS
							 | 
						|
									first=$(echo "$out" | awk '{printf $1}')
							 | 
						|
									tc_info=$(echo "$out" | awk '{printf $2}')
							 | 
						|
								
							 | 
						|
									if [ "$first" == "HELP" ]
							 | 
						|
									then
							 | 
						|
										if [ -f "$tccfgdir/$(echo "$out" | awk '{printf $2}')" ]
							 | 
						|
										then
							 | 
						|
											source "$tccfgdir/$tc_info"
							 | 
						|
											printf "\n\n\tinfobox $_tc_info"
							 | 
						|
											sleep 4
							 | 
						|
										fi
							 | 
						|
									fi
							 | 
						|
									if [ "$first" == "EXIT" ]
							 | 
						|
									then
							 | 
						|
										bye
							 | 
						|
									else
							 | 
						|
										toolchain_main_menu;
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								tedit(){
							 | 
						|
									clear
							 | 
						|
									if [ -f "$tccfgdir/$1" ]
							 | 
						|
									then
							 | 
						|
										source "$tccfgdir/$1"
							 | 
						|
										printf  $y_l
							 | 
						|
										slogo;
							 | 
						|
										printf  "$p_l change CONF_DIR for $c_l$_toolchainname$w_l\n"
							 | 
						|
										printf  "$w_l    current =$c_l $_oscamconfdir_custom\n"
							 | 
						|
										printf  "$w_l    default =$c_l $_oscamconfdir_default\n"
							 | 
						|
										printf "$w_l  Enter new =$w_l "
							 | 
						|
										read name
							 | 
						|
										printf      "        now =$y_l CONF_DIR=$name$re_\n"
							 | 
						|
										sed -i s@^_oscamconfdir_custom.*@_oscamconfdir_custom=\"$name\"@ "$tccfgdir/$_toolchainname"
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								_gtedit(){
							 | 
						|
									if [ -f "$tccfgdir/$_toolchainname" ]
							 | 
						|
									then
							 | 
						|
										source "$tccfgdir/$_toolchainname"
							 | 
						|
										input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " --inputbox "\n CONF_DIR=$_oscamconfdir_default 'default'\n [ESC] = default\n" 0 0 "$_oscamconfdir_custom")
							 | 
						|
										retval=$?
							 | 
						|
								
							 | 
						|
										case $retval in
							 | 
						|
											0)
							 | 
						|
												confdir="$input";;
							 | 
						|
											1)
							 | 
						|
												confdir="$_oscamconfdir_custom";;
							 | 
						|
											255)
							 | 
						|
												confdir="$_oscamconfdir_default";;
							 | 
						|
										esac
							 | 
						|
								
							 | 
						|
										sed -i s@^_oscamconfdir_custom.*@_oscamconfdir_custom=\"$confdir\"@ "$tccfgdir/$_toolchainname"
							 | 
						|
										source "$tccfgdir/$_toolchainname"
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								check_smargo(){
							 | 
						|
									if [ -f "$svndir/config.sh" ]
							 | 
						|
									then
							 | 
						|
										if [ "$("$svndir/config.sh" -e CARDREADER_SMARGO)" == "Y" ]
							 | 
						|
										then
							 | 
						|
											USE_vars[USE_LIBUSB]="USE_LIBUSB=1"
							 | 
						|
										else
							 | 
						|
											USE_vars[USE_LIBUSB]=
							 | 
						|
										fi
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								_reset_config(){
							 | 
						|
									if [ -f "$svndir/config.sh" ]
							 | 
						|
									then
							 | 
						|
										[ -f "$menudir/$_toolchainname.save" ] && rm -rf "$menudir/$_toolchainname.save"
							 | 
						|
										if [ ! -f "$workdir/SVN-IS-PATCHED" ]
							 | 
						|
										then
							 | 
						|
											reset_="$("$svndir/config.sh" -R)"
							 | 
						|
										fi
							 | 
						|
									else
							 | 
						|
										_select_menu
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								_get_config_menu(){
							 | 
						|
									tmp="$(mktemp)"
							 | 
						|
									while read -r _l;
							 | 
						|
									do
							 | 
						|
										c=$(echo "$_l" | tr -cd \" | wc -c)
							 | 
						|
										_c=$((_c + c))
							 | 
						|
										[ ${_c} -lt 11 ] && printf "$_l" >>"$tmp"
							 | 
						|
										[ ${_c} -eq 10 ] && break
							 | 
						|
									done <"$svndir/config.sh"
							 | 
						|
									mk="$(grep '^   USE_' "$workdir/oscam-svn/Makefile" |sort -u|awk '{print $1}')"
							 | 
						|
									for e in $mk
							 | 
						|
									do
							 | 
						|
										USE_vars[${e:0:-2}]=
							 | 
						|
									done;
							 | 
						|
									check_smargo
							 | 
						|
									source "$tmp"
							 | 
						|
									rm -rf "$tmp"
							 | 
						|
								}
							 | 
						|
								read_s3cfg(){
							 | 
						|
									if [ -f "$s3cfg" ]
							 | 
						|
									then
							 | 
						|
										while read l
							 | 
						|
										do
							 | 
						|
											s3cfg_vars[$(echo "$l"| awk -F'=' '{print $1}')]=$(echo "$l"| awk -F'=' '{print $2}')
							 | 
						|
										done < "$s3cfg"
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								s3cfg_menu(){
							 | 
						|
									unset CFG_MENU
							 | 
						|
									declare -a CFG_MENU
							 | 
						|
									old_IFS=$IFS
							 | 
						|
									COUNT=0
							 | 
						|
									found=""
							 | 
						|
								
							 | 
						|
									for e in "${!s3cfg_vars[@]}"
							 | 
						|
									do
							 | 
						|
										CFG_MENU+="$e#on/off#$([ "${s3cfg_vars[$e]}" -gt "0" ] && echo on || echo off)#"
							 | 
						|
										counter
							 | 
						|
									done
							 | 
						|
								
							 | 
						|
									IFS="#"
							 | 
						|
									erg=$("$gui" "$st_" "$bt_" "$title_" "$cl_" "enable/disable options" 16 45 10 ${CFG_MENU[@]})
							 | 
						|
									IFS=$old_IFS
							 | 
						|
								
							 | 
						|
									for e1 in "${!s3cfg_vars[@]}"
							 | 
						|
									do
							 | 
						|
										for e2 in $erg
							 | 
						|
										do
							 | 
						|
											found="0"
							 | 
						|
											if [ "$e1" == "${e2//\'}" ]
							 | 
						|
											then
							 | 
						|
												found="1"
							 | 
						|
												break
							 | 
						|
											fi
							 | 
						|
										done
							 | 
						|
										if [ "$found" == "1" ]
							 | 
						|
										then
							 | 
						|
											s3cfg_vars[$e1]=1
							 | 
						|
										else
							 | 
						|
											s3cfg_vars[$e1]=0
							 | 
						|
										fi
							 | 
						|
									done
							 | 
						|
								
							 | 
						|
									write_s3cfg
							 | 
						|
								}
							 | 
						|
								write_s3cfg(){
							 | 
						|
									[ -f "$s3cfg" ] && rm -rf "$s3cfg"
							 | 
						|
									for e in "${!s3cfg_vars[@]}"
							 | 
						|
									do
							 | 
						|
										echo "$e=${s3cfg_vars[${e}]}" >>"$s3cfg"
							 | 
						|
									done
							 | 
						|
								}
							 | 
						|
								_stapi_select(){
							 | 
						|
									if [ "$stapi_allowed" == "1" ]
							 | 
						|
									then
							 | 
						|
										stapivar=''
							 | 
						|
										addstapi=
							 | 
						|
										USESTRING=
							 | 
						|
										stapimode=$($gui $rl_ " SELECT STAPI MODE" 12 0 5 0 "STAPI_OFF" on 1 "USE_STAPI" off 2 "USE_STAPI5 UFS916" off 3 "USE_STAPI5 UFS916003" off 4 "USE_STAPI5 OPENBOX" off 3>&1 1>&2 2>&3)
							 | 
						|
										usevars=$(echo $usevars | sed "s@USE_STAPI5@@" | xargs)
							 | 
						|
										usevars=$(echo $usevars | sed "s@USE_STAPI@@" | xargs)
							 | 
						|
								
							 | 
						|
										case $stapimode in
							 | 
						|
											0)
							 | 
						|
												stapivar=;;
							 | 
						|
											1)
							 | 
						|
												[ -z "$stapi_lib_custom" ] && stapivar="STAPI_LIB=$sdir/stapi/liboscam_stapi.a" || stapivar="STAPI_LIB=$sdir/stapi/${stapi_lib_custom}"
							 | 
						|
												addstapi="USE_STAPI";;
							 | 
						|
											2)
							 | 
						|
												stapivar="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916.a"
							 | 
						|
												addstapi="USE_STAPI5";;
							 | 
						|
											3)
							 | 
						|
												stapivar="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_UFS916_0.03.a"
							 | 
						|
												addstapi="USE_STAPI5";;
							 | 
						|
											4)
							 | 
						|
												stapivar="STAPI5_LIB=$sdir/stapi/liboscam_stapi5_OPENBOX.a"
							 | 
						|
												addstapi="USE_STAPI5";;
							 | 
						|
										esac;
							 | 
						|
								
							 | 
						|
										save_config
							 | 
						|
									else
							 | 
						|
										"$gui" "$st_" --title "STAPI INFO" --msgbox "NOT for $_toolchainname" 0 0
							 | 
						|
										_toolchain_config_menu
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								save_config(){
							 | 
						|
									usevars=
							 | 
						|
									enabled=
							 | 
						|
									disabled=
							 | 
						|
									check_smargo
							 | 
						|
									enabled=($("$svndir/config.sh" -s))
							 | 
						|
									disabled=($("$svndir/config.sh" -Z))
							 | 
						|
									[ "$_toolchainname" == "sh4" ] && unset USE_vars[USE_COMPRESS]
							 | 
						|
									[ "$_toolchainname" == "sh_4" ] && unset USE_vars[USE_COMPRESS]
							 | 
						|
									unset USE_vars[USE_STAPI]
							 | 
						|
									unset USE_vars[USE_STAPI5]
							 | 
						|
								
							 | 
						|
									for e in ${USE_vars[*]}
							 | 
						|
									do
							 | 
						|
										usevars="${e:0:-2} $usevars"
							 | 
						|
									done
							 | 
						|
								
							 | 
						|
									[ -f "$menudir/$_toolchainname.save" ] && rm -rf "$menudir/$_toolchainname.save"
							 | 
						|
									printf "enabled=\"${enabled[*]}\"\n"  >"$menudir/$_toolchainname.save"
							 | 
						|
									printf "disabled=\"${disabled[*]}\"\n">>"$menudir/$_toolchainname.save"
							 | 
						|
									if [ "$stapi_allowed" == "1" ]
							 | 
						|
									then
							 | 
						|
										if [ "${#stapivar}" -gt "15" ]
							 | 
						|
										then
							 | 
						|
											printf "stapivar=\"$stapivar\"\n">>"$menudir/$_toolchainname.save"
							 | 
						|
											printf "usevars=\"$usevars $addstapi\"\n" >>"$menudir/$_toolchainname.save"
							 | 
						|
										else
							 | 
						|
											printf "usevars=\"$usevars\"\n" >>"$menudir/$_toolchainname.save"
							 | 
						|
										fi
							 | 
						|
									else
							 | 
						|
										printf "usevars=\"$usevars\"\n" >>"$menudir/$_toolchainname.save"
							 | 
						|
									fi
							 | 
						|
								};
							 | 
						|
								
							 | 
						|
								load_config(){
							 | 
						|
									_stapi=
							 | 
						|
									_stapi5=
							 | 
						|
									enabled=
							 | 
						|
									disabled=
							 | 
						|
									stapivar=""
							 | 
						|
									USESTRING=
							 | 
						|
									usevars=
							 | 
						|
									unset USE_vars[USE_STAPI]
							 | 
						|
									unset USE_vars[USE_STAPI5]
							 | 
						|
									if [ -f "$menudir/$_toolchainname.save" ]
							 | 
						|
									then
							 | 
						|
										source "$menudir/$_toolchainname.save"
							 | 
						|
										ena=$("$svndir/config.sh" -E $enabled)
							 | 
						|
										dis=$("$svndir/config.sh" -D $disabled)
							 | 
						|
										for e in $usevars
							 | 
						|
										do
							 | 
						|
											USE_vars[$e]="$e=1"
							 | 
						|
											[ "$e" == "USE_LIBUSB" ] && silent=$("$svndir/config.sh" --enable CARDREADER_SMARGO)
							 | 
						|
											[ "$e" == "USE_PCSC" ] && sed -i 's@^//#define CARDREADER_PCSC 1@#define CARDREADER_PCSC 1@g' "$svndir/config.h"
							 | 
						|
										done
							 | 
						|
									else
							 | 
						|
										_reset_config
							 | 
						|
										[ "${s3cfg_vars[USE_TARGZ]}" == "1" ] && USE_vars[USE_TARGZ]="USE_TARGZ=1"
							 | 
						|
										[ "${s3cfg_vars[USE_COMPRESS]}" == "1" ] && USE_vars[USE_COMPRESS]="USE_COMPRESS=1"
							 | 
						|
										for e in $default_use
							 | 
						|
										do
							 | 
						|
											USE_vars[$e]="$e=1"
							 | 
						|
										done
							 | 
						|
									fi
							 | 
						|
									check_smargo
							 | 
						|
									[ "$_toolchainname" == "sh4" ] && unset USE_vars[USE_COMPRESS]
							 | 
						|
									[ "$_toolchainname" == "sh_4" ] && unset USE_vars[USE_COMPRESS]
							 | 
						|
									USESTRING="$(echo "${USE_vars[@]}"| sed 's@USE_@@g'| sed 's@=1@@g'| tr -s ' ')"
							 | 
						|
								}
							 | 
						|
								_get_config_con(){
							 | 
						|
									if [ ! "$1" == "checkout" ] && [ ! "$1" == "clean" ]
							 | 
						|
									then
							 | 
						|
										tmp="$(mktemp)";
							 | 
						|
								
							 | 
						|
										if [ -f "$svndir/config.sh" ]
							 | 
						|
										then
							 | 
						|
											while read -r _l
							 | 
						|
											do
							 | 
						|
												c=$(echo "$_l" | tr -cd \" | wc -c)
							 | 
						|
												_c=$((_c + c));
							 | 
						|
												[ ${_c} -lt 11 ] && echo "$_l" >>"$tmp"
							 | 
						|
												[ ${_c} -eq 10 ] && break
							 | 
						|
											done <"$svndir/config.sh"
							 | 
						|
										else
							 | 
						|
											while read -r _l
							 | 
						|
											do
							 | 
						|
												c=$(echo "$_l" | tr -cd \" | wc -c)
							 | 
						|
												_c=$((_c + c))
							 | 
						|
												[ ${_c} -lt 11 ] && echo "$_l" >>"$tmp"
							 | 
						|
												[ ${_c} -eq 10 ] && break
							 | 
						|
											done <"$configdir/config.sh.master"
							 | 
						|
										fi
							 | 
						|
								
							 | 
						|
										if [ -f "$workdir/oscam-svn/Makefile" ]
							 | 
						|
										then
							 | 
						|
											str_="$(grep '^   USE_' "$workdir/oscam-svn/Makefile"| sort -u| awk '{print $1}')"
							 | 
						|
											for e in $str_
							 | 
						|
											do
							 | 
						|
												es="${e:0:-2}"
							 | 
						|
												USE_vars[$es]=
							 | 
						|
											done
							 | 
						|
										else
							 | 
						|
											if [ -f "$configdir/Makefile.master" ]
							 | 
						|
											then
							 | 
						|
												str_="$(grep '^   USE_' "$configdir/Makefile.master"| sort -u| awk '{print $1}')"
							 | 
						|
												for e in $str_
							 | 
						|
												do
							 | 
						|
													es="${e:0:-2}"
							 | 
						|
													USE_vars[$es]=
							 | 
						|
												done
							 | 
						|
											fi
							 | 
						|
										fi
							 | 
						|
								
							 | 
						|
										check_smargo
							 | 
						|
										source "$tmp"
							 | 
						|
										rm -rf "$tmp" "$tmp1"
							 | 
						|
										rm -rf "$tmp.load" "$tmp1.load"
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								_gtedit(){
							 | 
						|
									if [ -f "$tccfgdir/$_toolchainname" ]
							 | 
						|
									then
							 | 
						|
										source "$tccfgdir/$_toolchainname"
							 | 
						|
										input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " --inputbox "\n CONF_DIR=$_oscamconfdir_default 'default'\n [ESC] = default\n" 0 0 "$_oscamconfdir_custom")
							 | 
						|
										retval=$?
							 | 
						|
								
							 | 
						|
										case $retval in
							 | 
						|
											0)
							 | 
						|
												confdir="$input";;
							 | 
						|
											1)
							 | 
						|
												confdir="$_oscamconfdir_custom";;
							 | 
						|
											255)
							 | 
						|
												confdir="$_oscamconfdir_default";;
							 | 
						|
										esac
							 | 
						|
										sed -i s@^_oscamconfdir_custom.*@_oscamconfdir_custom=\"$confdir\"@ "$tccfgdir/$_toolchainname"
							 | 
						|
										source "$tccfgdir/$_toolchainname"
							 | 
						|
									fi
							 | 
						|
								}
							 | 
						|
								
							 |