(List (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[LIT_CHARS sources/include.sh]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (Com {[LIT_CHARS load_target]} {[DQ [VarSub 1]]} more_env=[('KEEP_STAGEDIR', {[LIT_CHARS 1]})] ) (FunctionDef is_newer [] (List (= scope= flags=0 words=[] bindings=[('X', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub X]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS which]} {[DQ [VarSub CC_PREFIX][LIT_CHARS cc]]})]]} {[LIT_CHARS -nt]} {[DQ [VarSub X]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (While (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub 1]]} {[LIT_OTHER "]"]}) (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS find]} {[DQ [VarSub 1]]} {[LIT_CHARS -newer]} {[DQ [VarSub X]]})]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (Com {[LIT_CHARS shift]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Keeping "][ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub X]]})]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) (FunctionDef qemu_defaults [] (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "-nographic -no-reboot -kernel linux"]]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub SYSIMAGE_TYPE]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS rootfs]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS " -initrd rootfs.cpio.gz"]]}) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS " -append "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "panic=1 console="][VarSub CONSOLE][LIT_CHARS " HOST="][VarSub ARCH][LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS KERNEL_EXTRA][\ LIT_ESCAPED_CHAR "\\\""]]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS QEMU_EXTRA]]}) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[DQ [VarSub STAGE_DIR][LIT_CHARS /run-emulator.sh]]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/bin/bash\n"][LIT_CHARS "\n"][LIT_CHARS "# Boot the emulated system to a shell prompt.\n"][LIT_CHARS "\n"][LIT_CHARS "ARCH="][VarSub ARCH][LIT_CHARS "\n"][LIT_CHARS "run_emulator()\n"][LIT_CHARS "{\n"][LIT_CHARS " [ ! -z "][RIGHT_D_QUOTE "\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS DEBUG][RIGHT_D_QUOTE "\""][LIT_CHARS " ] && set -x\n"][LIT_CHARS " "][ComSub (Com {[LIT_CHARS emulator_command]})][LIT_CHARS "\n"][LIT_CHARS "}\n"][LIT_CHARS "\n"][LIT_CHARS "if [ "][RIGHT_D_QUOTE "\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS 1][RIGHT_D_QUOTE "\""][LIT_CHARS " != "][RIGHT_D_QUOTE "\""][LIT_CHARS --norun][RIGHT_D_QUOTE "\""][LIT_CHARS " ]\n"][LIT_CHARS "then\n"][LIT_CHARS " run_emulator\n"][LIT_CHARS "fi\n"]]} 0), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /run-emulator.sh]]}) (For FILE [{[LIT_CHARS dev-environment.sh]}, {[LIT_CHARS native-build.sh]}]) (List (Subshell (List (= scope= flags=1 words=[] bindings=[('IFS', {[DQ [ComSub (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]})]]})]) (Pipeline (Com {[LIT_CHARS cat]} {[DQ [VarSub SOURCES][LIT_CHARS /toys/][VarSub FILE]]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS i]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub i transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 8]}}]]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [LIT_CHARS "INCLUDE "]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (Com {[LIT_CHARS cat]} {[DQ [VarSub SOURCES][LIT_CHARS /toys/][VarSub i transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 8]}} None]]]}) (Com {[LIT_CHARS dienow]}) ) (ElseTrue) (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [VarSub i]]}) (Com {[LIT_CHARS dienow]}) ) ) ) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /][VarSub FILE]]}) (Com {[LIT_CHARS dienow]}) ) ) ) ) ) (If (Com {[LIT_CHARS is_newer]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /rootfs.cpio.gz]]} {[DQ [VarSub BUILD][LIT_CHARS /root-filesystem-][VarSub ARCH]]}) (List (AndOr OP_AND_IF (Com {[LIT_CHARS image_filesystem]} {[DQ [VarSub BUILD][LIT_CHARS /root-filesystem-][VarSub ARCH]]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /temp]]} more_env=[('SYSIMAGE_TYPE', {[LIT_CHARS cpio]})] ) (AndOr OP_OR_IF (Com {[LIT_CHARS mv]} {[LIT_CHARS -f]} {[DQ [VarSub STAGE_DIR]] [LIT_CHARS /] [LIT_LBRACE "{"] [LIT_CHARS temp] [LIT_COMMA ","] [LIT_CHARS rootfs] [LIT_RBRACE "}"] [LIT_CHARS .cpio.gz]}) (Com {[LIT_CHARS dienow]}) ) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub SYSIMAGE_TYPE]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[LIT_CHARS rootfs]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /linux]]}) ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -e]} {[DQ [VarSub BUILD][LIT_CHARS /native-compiler-][VarSub ARCH]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS is_newer]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /toolchain.sqf]]} {[DQ [VarSub BUILD][LIT_CHARS /native-compiler-][VarSub ARCH]]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS image_filesystem]} {[DQ [VarSub BUILD][LIT_CHARS /native-compiler-][VarSub ARCH]]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /temp]]} more_env=[('SYSIMAGE_TYPE', {[LIT_CHARS squashfs]})] ) (AndOr OP_OR_IF (Com {[LIT_CHARS mv]} {[LIT_CHARS -f]} {[DQ [VarSub STAGE_DIR]] [LIT_CHARS /] [LIT_LBRACE "{"] [LIT_CHARS temp] [LIT_COMMA ","] [LIT_CHARS toolchain] [LIT_RBRACE "}"] [LIT_CHARS .sqf]}) (Com {[LIT_CHARS dienow]}) ) ) ) (If (Com {[LIT_CHARS is_newer]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /linux]]} {[DQ [VarSub BUILD][LIT_CHARS /root-filesystem-][VarSub ARCH]]} {[ComSub (Com {[LIT_CHARS package_cache]} {[LIT_CHARS linux]})]}) (List (Com {[LIT_CHARS setupfor]} {[LIT_CHARS linux]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "# make allnoconfig ARCH="][VarSub BOOT_KARCH test_op=VS_TEST_COLON_HYPHEN {[VarSub KARCH]}][LIT_CHARS " KCONFIG_ALLCONFIG=mini.config"]]} < (FilenameRedirectNode filename={[VarSub STAGE_DIR] [LIT_CHARS /mini.config]} "> 1), > ) (Com {[LIT_CHARS getconfig]} {[LIT_CHARS linux]} < (FilenameRedirectNode filename={[DQ [VarSub STAGE_DIR]] [LIT_CHARS /mini.config]} >"> 1), > ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub SYSIMAGE_TYPE]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[LIT_CHARS rootfs]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "CONFIG_INITRAMFS_SOURCE="][\ LIT_ESCAPED_CHAR "\\\""][VarSub STAGE_DIR][LIT_CHARS /rootfs.cpio.gz][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\n"]]} < (FilenameRedirectNode filename={[DQ [VarSub STAGE_DIR]] [LIT_CHARS /mini.config]} >"> 1), > ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS make]} {[LIT_CHARS allnoconfig]} {[LIT_VAR_LIKE "ARCH="] [VarSub BOOT_KARCH test_op=VS_TEST_COLON_HYPHEN {[VarSub KARCH]}] =} {[VarSub LINUX_FLAGS]} {[LIT_VAR_LIKE "KCONFIG_ALLCONFIG="] [DQ [VarSub STAGE_DIR]] [LIT_CHARS /mini.config] =} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS make]} {[LIT_CHARS -j]} {[VarSub CPUS]} {[LIT_VAR_LIKE "ARCH="] [VarSub BOOT_KARCH test_op=VS_TEST_COLON_HYPHEN {[VarSub KARCH]}] =} {[VarSub DO_CROSS]} {[VarSub LINUX_FLAGS]} {[VarSub VERBOSITY]}) (Com {[LIT_CHARS cp]} {[DQ [VarSub KERNEL_PATH]]} {[DQ [VarSub STAGE_DIR][LIT_CHARS /linux]]}) ) ) (Com {[LIT_CHARS cleanup]}) ) ) (Com {[LIT_CHARS create_stage_tarball]} more_env=[('ARCH', {[DQ [VarSub ARCH_NAME]]})] ) (Com {[LIT_CHARS announce]} {[DQ [LIT_CHARS "Packaging complete"]]}) )