📄 xconfigure
字号:
RTEMS {set arch 3;} SOLARIS {set arch 4;} ELKS {set arch 5;} default {set arch 0} } set optimize [getvalue "OPTIMIZE" 1]; set debug [getvalue "DEBUG" 1]; set verbose [getvalue "VERBOSE" 1]; set vtswitch [getvalue "VTSWITCH" 1]; set microwin [getvalue "MICROWIN" 1]; set nanox [getvalue "NANOX" 1]; set shlibs [getvalue "SHAREDLIBS" 1]; set objframe [getvalue "OBJFRAMEWORK" 1]; set nwidget [getvalue "NWIDGET" 1]; set microwindemo [getvalue "MICROWINDEMO" 1] set nanoxdemo [getvalue "NANOXDEMO" 1]; set screenpixtype [getvalue "SCREEN_PIXTYPE" 0] set server [getvalue "LINK_APP_INTO_SERVER" 1]; set sharedmem [getvalue "HAVE_SHAREDMEM_SUPPORT" 1]; set havefileio [getvalue "HAVE_FILEIO" 1]; set havebmp [getvalue "HAVE_BMP_SUPPORT" 1]; set havejpg [getvalue "HAVE_JPEG_SUPPORT" 1]; set incjpg [getvalue "INCJPEG" 0]; set libjpg [getvalue "LIBJPEG" 0]; set haveft [getvalue "HAVE_FREETYPE_SUPPORT" 1]; set incft [getvalue "INCFTLIB" 0]; set libft [getvalue "LIBFTLIB" 0]; set havet1 [getvalue "HAVE_T1LIB_SUPPORT" 1]; set inct1 [getvalue "INCT1LIB" 0]; set libt1 [getvalue "LIBT1LIB" 0]; set havehzk [getvalue "HAVE_HZK_SUPPORT" 1]; set hzkdir [getvalue "HZK_FONT_DIR" 0]; set hzkfontsize [getvalue "HZK_FONT_SIZE" 0]; set updateregions [getvalue "UPDATEREGIONS" 1] set erasemove [getvalue "ERASEMOVE" 1] set havemsfonts [getvalue "HAVEMSFONTS" 1]; set graypalette [getvalue "GRAYPALETTE" 1]; set vgafb [getvalue "FBVGA" 1] set portraitfb [getvalue "PORTRAIT_MODE" 1] set x11e15 [getvalue "SCREEN_E15 1" 1] set x11screenwidth [getvalue "SCREEN_WIDTH" 0] set x11screenheight [getvalue "SCREEN_HEIGHT" 0] set x11screendepth [getvalue "SCREEN_DEPTH" 0] set sa1100ltlend [getvalue "SA1100_LCD_LTLEND" 1] set rtemsbuild [getvalue "RTEMS_BUILD" 0] set rtemsbsp [getvalue "RTEMS_BSP" 0] if {[getvalue "FRAMEBUFFER" 1] == 1} {set screenlinux 0;} if {[getvalue "X11" 1] == 1} {set screenlinux 1} if {[getvalue "VGALIB" 1] == 1} {set screenlinux 2} if {[getvalue "HWVGA" 1] == 1} {set screenlinux 3} if {[getvalue "GPMMOUSE" 1] == 1} {set mouselinux 0;} if {[getvalue "SERMOUSE" 1] == 1} {set mouselinux 1} if {[getvalue "TPMOUSE" 1] == 1} {set mouselinux 2} if {[getvalue "TSMOUSE" 1] == 1} {set mouselinux 3} if {[getvalue "NOMOUSE" 1] == 1} {set mouselinux 4} if {[getvalue "TTYKBD" 1] == 1} {set keyblinux 0;} if {[getvalue "NOKBD" 1] == 1} {set keyblinux 1;} if {[getvalue "ASMVGADRIVER" 1] == 1} {set screenelks 0;} if {[getvalue "CVGADRIVER" 1] == 1} {set screenelks 1} if {[getvalue "HERCDRIVER" 1] == 1} {set screenelks 2} close $configfile;}################################################################################## Get a value from the config file#################################################################################proc getvalue {name isyesorno} { global configfile; set line 0; seek $configfile 0 start; while {[eof $configfile] == 0} { set line [gets $configfile]; if {[regexp ($name)(\ |\t)*(=)(\ |\t)*(.*) $line all a b c d e] == 1} { set $e [string trim $e] if {$isyesorno == 1} { switch -exact $e { N {return 0;} Y {return 1;} default {return 0} } } return $e } }}################################################################################## Write data to the configuration file#################################################################################proc writeconfig {} { global arch; global armtoolsprefix; global mipstoolsprefix; global rtemstoolsprefix; global optimize; global debug; global verbose global microwin; global nanox; global shlibs; global objframe; global nwidget; global microwindemo; global nanoxdemo; global screenpixtype; global server; global sharedmem; global havefileio; global havebmp; global havejpg; global incjpg; global libjpg; global haveft; global incft; global libft; global havet1; global inct1; global libt1; global havehzk; global hzkdir; global hzkfontsize; global updateregions; global erasemove; global havemsfonts; global graypalette; global screenlinux; global vgafb; global portraitfb; global x11e15; global x11screenwidth; global x11screenheight; global x11screendepth; global mouselinux; global keyblinux; global vtswitch; global sa1100ltlend; global rtemsbuild; global rtemsbsp; global screenelks; if {$arch == 0} {putvalue "ARCH" "LINUX-NATIVE" } elseif {$arch == 1} {putvalue "ARCH" "LINUX-ARM" } elseif {$arch == 2} {putvalue "ARCH" "LINUX-MIPS" } elseif {$arch == 3} {putvalue "ARCH" "RTEMS" } elseif {$arch == 4} {putvalue "ARCH" "SOLARIS" } elseif {$arch == 5} {putvalue "ARCH" "ELKS"} putvalue "ARMTOOLSPREFIX" $armtoolsprefix; putvalue "MIPSTOOLSPREFIX" $mipstoolsprefix; putvalue "RTEMSTOOLSPREFIX" $rtemstoolsprefix; putvalue "OPTIMIZE" $optimize; putvalue "DEBUG" $debug; putvalue "VERBOSE" $verbose; putvalue "MICROWIN" $microwin putvalue "NANOX" $nanox; putvalue "SHAREDLIBS" $shlibs; putvalue "OBJFRAMEWORK" $objframe; putvalue "NWIDGET" $nwidget; putvalue "MICROWINDEMO" $microwindemo; putvalue "NANOXDEMO" $nanoxdemo; putvalue "SCREEN_PIXTYPE" $screenpixtype; putvalue "LINK_APP_INTO_SERVER" $server; putvalue "HAVE_SHAREDMEM_SUPPORT" $sharedmem; putvalue "HAVE_FILEIO" $havefileio; putvalue "HAVE_BMP_SUPPORT" $havebmp; putvalue "HAVE_JPEG_SUPPORT" $havejpg; putvalue "INCJPEG" $incjpg; putvalue "LIBJPEG" $libjpg; putvalue "HAVE_FREETYPE_SUPPORT" $haveft; putvalue "INCFTLIB" $incft; putvalue "LIBFTLIB" $libft; putvalue "HAVE_T1LIB_SUPPORT" $havet1; putvalue "INCT1LIB" $inct1; putvalue "LIBT1LIB" $libt1; putvalue "HAVE_HZK_SUPPORT" $havehzk; putvalue "HZK_FONT_DIR" $hzkdir; putvalue "HZK_FONT_SIZE" $hzkfontsize; putvalue "UPDATEREGIONS" $updateregions; putvalue "ERASEMOVE" $erasemove; putvalue "HAVEMSFONTS" $havemsfonts; putvalue "GRAYPALETTE" $graypalette; putvalue "PORTRAIT_MODE" $portraitfb; putvalue "FBVGA" $vgafb; putvalue "SCREEN_E15" $x11e15; putvalue "SCREEN_WIDTH" $x11screenwidth; putvalue "SCREEN_HEIGHT" $x11screenheight; putvalue "SCREEN_DEPTH" $x11screendepth; putvalue "RTEMS_BUILD" $rtemsbuild; putvalue "RTEMS_BSP" $rtemsbsp; putvalue "SA1100_LCD_LTLEND" $sa1100ltlend; if {$screenlinux == 0} { putvalue "FRAMEBUFFER" 1; putvalue "X11" 0; putvalue "VGALIB" 0; putvalue "HWVGA" 0; } elseif {$screenlinux == 1} { putvalue "FRAMEBUFFER" 0; putvalue "X11" 1; putvalue "VGALIB" 0; putvalue "HWVGA" 0; } elseif {$screenlinux == 2} { putvalue "FRAMEBUFFER" 0; putvalue "X11" 0; putvalue "VGALIB" 1; putvalue "HWVGA" 0; } elseif {$screenlinux == 2} { putvalue "FRAMEBUFFER" 0; putvalue "X11" 0; putvalue "VGALIB" 0; putvalue "HWVGA" 1; } if {$mouselinux == 0} { putvalue "GPMMOUSE" 1; putvalue "SERMOUSE" 0; putvalue "TPMOUSE" 0; putvalue "TSMOUSE" 0; putvalue "NOMOUSE" 0; } elseif {$mouselinux == 1} { putvalue "GPMMOUSE" 0; putvalue "SERMOUSE" 1; putvalue "TPMOUSE" 0; putvalue "TSMOUSE" 0; putvalue "NOMOUSE" 0; } elseif {$mouselinux == 2} { putvalue "GPMMOUSE" 0; putvalue "SERMOUSE" 0; putvalue "TPMOUSE" 1; putvalue "TSMOUSE" 0; putvalue "NOMOUSE" 0; } elseif {$mouselinux == 3} { putvalue "GPMMOUSE" 0; putvalue "SERMOUSE" 0; putvalue "TPMOUSE" 0; putvalue "TSMOUSE" 1; putvalue "NOMOUSE" 0; } elseif {$mouselinux == 4} { putvalue "GPMMOUSE" 0; putvalue "SERMOUSE" 0; putvalue "TPMOUSE" 0; putvalue "TSMOUSE" 0; putvalue "NOMOUSE" 1; } if {$keyblinux == 0} { putvalue "TTYKBD" 1; putvalue "NOKBD" 0; } elseif {$keyblinux == 1} { putvalue "TTYKBD" 0; putvalue "NOKBD" 1; } putvalue "VTSWITCH" $vtswitch; if {$screenelks == 0} { putvalue "ASMVGADRIVER" 1; putvalue "CVGADRIVER" 0; putvalue "HERCDRIVER" 0; } elseif {$screenelks == 1} { putvalue "ASMVGADRIVER" 0; putvalue "CVGADRIVER" 1; putvalue "HERCDRIVER" 0; } elseif {$screenelks == 2} { putvalue "ASMVGADRIVER" 0; putvalue "CVGADRIVER" 0; putvalue "HERCDRIVER" 1; } puts "Now type `make` ... Enjoy"}################################################################################## Write a value to the configuration file#################################################################################proc putvalue {name value} { global configfile; set found 0; set configfile [open "config" r+] set tempconfigfile [open "config~" w+] if {$value == "0"} {set value "N"} elseif {$value == "1"} {set value "Y"} seek $configfile 0 start; seek $tempconfigfile 0 start; while {[eof $configfile] == 0} { set linelength [gets $configfile line]; if {[regexp ($name)(\ |\t)*(=)(\ |\t)*(.*) $line all a b c d e] == 1 && $found == 0} { set $e [string trim $e] puts -nonewline $tempconfigfile $name set padding [expr 25 - [string length $name]] for {set i 0} {$i < $padding} {incr i} { puts -nonewline $tempconfigfile " " } puts $tempconfigfile "= $value" set found 1; } else { if {[eof $configfile] == 0} { puts $tempconfigfile $line } else { puts -nonewline $tempconfigfile $line } } } close $tempconfigfile; close $configfile; file rename -force "config~" "config" }# Initialization ...readconfig;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -