⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xconfigure

📁 开放源码实时操作系统源码.
💻
📖 第 1 页 / 共 4 页
字号:
        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 + -