Hello, new config.template parameter. Here is your support.

svn path=/trunk/tools/RosBE/; revision=909
This commit is contained in:
Daniel Reimer 2008-12-28 15:08:40 +00:00
parent 91f4c9ecf5
commit 6de7ea5b9f
3 changed files with 50 additions and 38 deletions

View File

@ -111,16 +111,16 @@ $SARCH = $xml.group.property | ? { $_.Name -eq "SARCH" } | % { $_.Value}
$SARCH_CH = Read-Host "(), (xbox)"
clear-host
"Which CPU ReactOS should be optimized for."
"Generate instructions for this CPU type. Specify one of:"
""
"Examples:"
"Intel: i486, i586 / pentium, pentium-mmx, i686 / pentiumpro, pentium2, pentium3"
" pentium3m, pentium-m, pentium4 / pentium4m, prescott, nocona"
" AMD: k6, k6-2 / k6-3, athlon / athlon-tbird, athlon-4 / athlon-xp / athlon-mp"
" k8 / opteron / athlon64 / athlon-fx"
" IDT: winchip-c6, winchip2"
" VIA: c3, c3-2"
" Default is: pentium"
"Intel: i386, i486, i586, pentium, pentium-mmx, i686, pentiumpro, pentium2"
" pentium3, pentium3m, pentium-m, pentium4, pentium4m, prescott, nocona"
" core2"
"AMD: k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, k8"
" opteron, athlon64, athlon-fx, opteron-sse3, barcelona, geode"
"IDT: winchip-c6, winchip2"
"VIA: c3, c3-2"
"Default is: pentium"
""
$OARCH = $xml.group.property | ? { $_.Name -eq "OARCH" } | % { $_.Value}
"Right now: $OARCH"
@ -130,6 +130,19 @@ if ($OARCH_CH -eq $null) {
}
clear-host
"Which CPU ReactOS should be optimized for. Specify one of the above CPUs or"
"generic. When this option is not used, GCC will optimize for the processor"
"specified by OARCH."
"Default is: i686"
""
$TUNE = $xml.group.property | ? { $_.Name -eq "TUNE" } | % { $_.Value}
"Right now: $TUNE"
$TUNE_CH = Read-Host
if ($TUNE_CH -eq $null) {
$TUNE_CH = $TUNE
}
clear-host
"What level do you want ReactOS to be optimized at."
"This setting does not work if GDB is set."
"0 = off"
@ -227,6 +240,7 @@ clear-host
#
$xml.group.property | ? { $_.Name -eq "SARCH" } | % { $_.Value = "$SARCH_CH"}
$xml.group.property | ? { $_.Name -eq "OARCH" } | % { $_.Value = "$OARCH_CH"}
$xml.group.property | ? { $_.Name -eq "TUNE" } | % { $_.Value = "$TUNE_CH"}
$xml.group.property | ? { $_.Name -eq "OPTIMIZE" } | % { $_.Value = "$OPTIMIZE_CH"}
$xml.group.property | ? { $_.Name -eq "KDBG" } | % { $_.Value = "$KDBG_CH"}
$xml.group.property | ? { $_.Name -eq "DBG" } | % { $_.Value = "$DBG_CH"}
@ -245,6 +259,8 @@ if ($_ROSBE_VERSION -ne $null) {
# Unload all used Vars.
#
$YESNO = $null
$TUNE = $null
$TUNE_CH = $null
$SARCH_CH = $null
$OARCH_CH = $null
$OPTIMIZE_CH = $null

View File

@ -116,13 +116,13 @@ echo Right now: %SARCH%
set /p SARCH_CH="(), (xbox)"
cls
echo Which CPU ReactOS should be optimized for.
echo Generate instructions for this CPU type. Specify one of:
echo.
echo Examples:
echo Intel: i486, i586 / pentium, pentium-mmx, i686 / pentiumpro, pentium2, pentium3
echo pentium3m, pentium-m, pentium4 / pentium4m, prescott, nocona
echo AMD: k6, k6-2 / k6-3, athlon / athlon-tbird, athlon-4 / athlon-xp / athlon-mp
echo k8 / opteron / athlon64 / athlon-fx
echo Intel: i386, i486, i586, pentium, pentium-mmx, i686, pentiumpro, pentium2
echo pentium3, pentium3m, pentium-m, pentium4, pentium4m, prescott, nocona
echo core2
echo AMD: k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, k8
echo opteron, athlon64, athlon-fx, opteron-sse3, barcelona, geode
echo IDT: winchip-c6, winchip2
echo VIA: c3, c3-2
echo Default is: pentium
@ -136,6 +136,20 @@ if "%OARCH_CH%" == "" (
)
cls
echo Which CPU ReactOS should be optimized for. Specify one of the above CPUs or
echo generic. When this option is not used, GCC will optimize for the processor
echo specified by OARCH.
echo Default is: i686
echo.
for /f "usebackq tokens=3" %%i in (`"type "%APPDATA%\RosBE\config.rbuild" | find "TUNE" | find "property name""`) do set TUNE=%%i
set TUNE=%TUNE:~7,-1%
echo Right now: %TUNE%
set /p TUNE_CH=
if "%TUNE_CH%" == "" (
set TUNE_CH=%TUNE%
)
cls
echo What level do you want ReactOS to be optimized at.
echo This setting does not work if GDB is set.
echo 0 = off
@ -243,6 +257,7 @@ echo ^<!DOCTYPE group SYSTEM "tools/rbuild/project.dtd"^>>%TEMP%\config.tmp
echo ^<group^>>%TEMP%\config.tmp
echo ^<property name="SARCH" value="%SARCH_CH%" /^>>>%TEMP%\config.tmp
echo ^<property name="OARCH" value="%OARCH_CH%" /^>>>%TEMP%\config.tmp
echo ^<property name="TUNE" value="%TUNE_CH%" /^>>>%TEMP%\config.tmp
echo ^<property name="OPTIMIZE" value="%OPTIMIZE_CH%" /^>>>%TEMP%\config.tmp
echo ^<property name="KDBG" value="%KDBG_CH%" /^>>>%TEMP%\config.tmp
echo ^<property name="DBG" value="%DBG_CH%" /^>>>%TEMP%\config.tmp
@ -268,6 +283,8 @@ if defined _ROSBE_VERSION (
:: Unload all used Vars.
::
set YESNO=
set TUNE=
set TUNE_CH=
set SARCH_CH=
set OARCH_CH=
set OPTIMIZE_CH=

View File

@ -1,23 +1,2 @@
updater ideen:
Erweiterte Update Pakete für einzelne Komponenten.
Die Dateien werden durchnummeriert. %_ROSBE_VERSION%-1.7z, %_ROSBE_VERSION%-2.7z, %_ROSBE_VERSION%-3.7z und die dazugehörigen Changelogs mit der selben Benennung. Gespeichert werden sie in %_ROSBE_BASEDIR%\Updates
Die klassische Methode, wie schon bei den anderen 7z Dateien wird angewendet, um zu erfahren, ob die Dateien aktualisiert oder erstellt wurden.
Wenn ja, gebe die heruntergeladene changelog + Größenangabe über type aus und frage nach ob man das Paket laden will. Wenn nein wird wegen der Struktur an sich später nicht mehr nachgefragt, ob das Paket installiert werden soll. Deswegen löschen wir die changelog, um dies zu forcieren.
Wenn es installiert werden soll, entpacke in \. und starte die %_ROSBE_VERSION%-1.cmd, %_ROSBE_VERSION%-2.cmd, %_ROSBE_VERSION%-3.cmd... der aktualisierten Pakete als update skript.
Die abfrage kann entweder statisch geschehn, also z.b. fest codiert von %_ROSBE_VERSION%-1.7z bis %_ROSBE_VERSION%-9.7z, oder uU variabel über %_ROSBE_VERSION%-%_ROSBE_UPDATE%.7z und dann set /a %_ROSBE_UPDATE% += 1, bis eine Datei nicht vorhanden und deswegen der Updatevorgang fertig ist. Ab aus der schleife und gut ist.
Die einzelnen Skripts haben folgende Grundelemente:
- Befehle zum Kopieren der Dateien.
- u.U integrierte Abfragen und Entscheidungen möglich.
Einzelne Commands:
reset - Löscht alle changelogs, also werden alle updates wieder ausgeführt, ob installiert oder nicht.
nr X - Installiert nur Paket Nummer X, egal ob schon installiert oder nicht und beendet.
status - Prüft nach neuen Updates und gibt das Resultat als Einzeiler aus. Kopiere die changelogs in einen temp Ordner. Jedes noch nicht vorhandene Update wird mit seiner Nummer an eine variable angehängt und diese am Ende ausgegeben, also z.B. "Update Packs 3,4,5,6 are available" Diese updates werden zu der Zeit noch nicht heruntergeladen und die zur Überprüfung verwendeten changelogs sind deswegen in einem Temp Ordner angesiedelt, um die Aussagekräftigen changelogs nicht zu verändern. Sinnvoll für den Start von RosBE.
- New icons for every arch we support
- More Error catching