• 1
  • 9
  • 10
  • 11(current)
  • 12
  • 13
HOW-TO compile XBMC for Xbox from SVN
yes, i changed dbr, not that it didn't work great, but i did add more customizations. the ability to keep the cvs download, the ability to move the build folder instead of deleting it and some other changes.

i edited my other post and gave you credit for the code, that works great when you change the space to a tab. Smile

i will be adding your code to my script. thanks
For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
Reply
Quote:i edited my other post and gave you credit for the code, that works great when you change the space to a tab. Smile
thanks

Quote:i will be adding your code to my script.  thanks

any chance i can have a copy of it?
do you update it whenever yuyu updates his script?

thanks.
Reply
sure, it's not as refined with echo messages and it's still a work in progress. i'll pm it to you. ok
For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
Reply
@Ythan : i just read yuyu's credits and found out your one of the original creators of his script, which i use.

thank you

i like some of your ideas, i hope you don't mind me "borrowing" them.

i have no intention of releasing this, but i thought i would thank you.

@jgawera: i put your code in. i also cleaned up my changes if you would like to see it, let me know

and thanks yuyu, cheesyboofs and the whole xbmc development team.
For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
Reply
i've had a request from craxx for my script. so i've decide to post it here.

first thanks to yuyu for xbmcdbr.bat which was the original starting point.

thanks jgawera for code to find program locations and check for a valid path.

thanks ythan for the original script file and menu inspiration.

and anyone else who contributed.

i broke this in to two files one the build.bat and the other settings.bat. settings.bat is where you can change all (hopefully) script settings.

create your installation folder. (do not have cvs in any part of a folders name you create.)

copy settings.bat code and save it as settings.bat in your installation folder.

copy build.bat code and save it as build.bat in your installation folder.**** you must change {tab} to a literal tab no spaces. (jgawera's code for finding install locations will not work if you don't.)

then create a folder named programs (the folder name can be changed in settings.bat.) and put gsar.exe, cvs.exe and xbepatch.exe in this folder.

then create a folder named user modified files. (the folder name can be changed in settings.bat.) this folder contains the exact folder structure as the xbmc installation on the xbox. you do not need to create every folder or copy anything in to it if you don't want to. but if you do then you must follow the exact folder structure of xbmc installation. for example i add kai xlink's files kaid and kaid.conf to a kaid folder in the web folder. so i create a web folder in user modified files and a kaid folder in the web folder and copy these files there.

all other folders will be created as needed.

make any changes to settings.bat you like and run build.bat. i added a command switch /u. if you start build.bat with this it will run a full download and build from your settings in settings.bat and not prompt for any input.

thanks again to all who contributed.

watch for word wrap, some line need attention.

settings.bat
Quote:@echo off

:: user set variables.
set language=english
set filename=xbmc
set includedate=y
set savebuildfolder=y
set compressbuild=n
set keepcvs=y
set defaultskin=project mayhem
set webdefaultskin=proj*
set searchstring=xbox media center 1.1.0
set replacestring=xbox media center 1.1.0

:: setup working folders.
set home=%cd%
set workfolder=%home%\working folder
set buildfolder=%workfolder%\build folder
set finishedbuildsfolder=%home%\finished builds
set webdefaultskin=%workfolder%\xbmc\web\%webdefaultskin%
set customfolder=%home%\user modified files
set programsfolder=%home%\programs

:: setup location for programs script uses.
set xbe=%programsfolder%\xbepatch.exe
set gsar=%programsfolder%\gsar.exe
set cvs=%programsfolder%\cvs.exe

:: sets programs options.
set cvsoptions=-z3 -d :pserver:anonymous:@cvs.sourceforge.net:/cvsroot/xbmc checkout xbmc
set netoptions=/rebuild release xbox
set netsolution=%workfolder%\xbmc\xbmc.sln
set raroptions=a -ep1 -r -y -m5
set unraroptions=x -o+ -inul

build.bat *(change {tab} to a literal tab no spaces)
Quote:@echo off
title xbox media center build script!

:begin

:: command line argument.
set cmdswitch=%1

:: if switch is invalid display help.
if not "%cmdswitch%"=="" (
 if /i not "%cmdswitch%"=="/u" (
   echo.
   echo downloads, builds and compresses xbox media center.
   echo build [/u]
   echo.
   echo   /u perform an unattended build.
   echo.
   echo the switch /u performs an unattended build based
   echo on user set variables.
   goto exitscript
 )
)

:start
cls
echo xbox media center build script!
echo.
echo.
echo doing some housekeeping . . .
echo.

call settings.bat

:: setup the builds filename.
for /f "tokens=2-4 delims=/.- " %%i in ('date /t') do set builddate=%%i.%%j.%%k
if /i "%includedate%"=="y" (
 set replacestring=%replacestring% ^(%builddate%^)
 if not "%filename%"=="" (
   set filename=%filename%_%builddate%
 ) else (
   set filename=%builddate%
 )
)

:: checks if filename is blank.
if "%filename%"=="" (
 echo.
 echo invalid build filename. your filename is blank and includedate is no.
 echo either enter a filename or set includedate=y
 echo.
 echo 
 pause
 goto exitscript
)

:: check for an invalid working path.
echo working path: %workfolder%\ | find /i "cvs"
if not errorlevel 1 (
 echo.
 echo this script won't work properly if any folder in the working path includes "cvs".
 echo you'll need to change the working folder or install folder.
 echo 
 pause
 goto exitscript
)

:: sets visual studio .net location.
set net=
set regcmd=reg query "hklm\software\microsoft\windows\currentversion\app paths\devenv.exe" /ve
for /f "tokens=3 delims={tab}" %%i in ('%regcmd%')  do (
 set net=%%i
)
if "%net%"=="" (
 echo.
 echo visual studio .net was not found. make sure it's installed properly.
 echo.
 echo 
 pause
 goto exitscript
)

:: sets rar and unrar location.
set rar=
set regcmd=reg query "hklm\software\microsoft\windows\currentversion\app paths\winrar.exe" /v path
for /f "tokens=3 delims={tab}" %%i in ('%regcmd%')  do (
 set rar=%%i\rar.exe
 set unrar=%%i\unrar.exe
)
if "%rar%"=="" (
 echo.
 echo winrar was not found. make sure it's installed properly.
 echo.
 echo 
 pause
 goto exitscript
)

:: check if finished folder exists.
if not exist "%finishedbuildsfolder%" md "%finishedbuildsfolder%"

:: if command line switch is [u]nconditional skip menu.
if /i "%cmdswitch%"=="/u" (
 set runtype=f
 goto downloadcvs
)

:setmenuitems
:: sets menu items to display.
set displayjob1=y
set displayjob2=n
set displayjob3=n
set displayjob4=n
set displayjob5=n
set displayjob6=y
set displayjob7=n
set displayjob8=y

if exist "%workfolder%\xbmc" set displayjob2=y

if exist "%workfolder%\xbmc\release\default.xbe" set displayjob3=y

set answer=
if exist "%finishedbuildsfolder%" (
 for /f "tokens=1" %%i in ('dir /ad /b "%finishedbuildsfolder%"')  do set answer=%%i
)
if not '%answer%'=='' set displayjob4=y

if exist "%workfolder%" set displayjob5=y

:menu
cls
echo xbox media center build script!
echo.
echo.
:: display menu
echo ------------------------------------------------------
echo name:    '%filename%' keep cvs:   '%keepcvs%'
echo working: '%workfolder%\' compress:   '%compressbuild%'
echo builds:  '%finishedbuildsfolder%\' save build: '%savebuildfolder%'
echo ------------------------------------------------------
echo.
echo please select a job and press enter:
echo.
if %displayjob1%==y echo [f]ull download and build
if %displayjob2%==y echo [b]uild solution from existing cvs
if %displayjob3%==y echo [s]ave current build to '%finishedbuildsfolder%\'
if %displayjob4%==y echo [r]ar already built solution
if %displayjob5%==y echo [d]elete '%workfolder%\'
if %displayjob6%==y echo [c]hange build name
if %displayjob7%==y echo [u]ser settings
if %displayjob8%==y echo [e]xit
echo.

set runtype=
set /p runtype=

:job1
:: full download and build.
if not %displayjob1%==y goto job2
if /i "%runtype%"=="f" goto downloadcvs

:job2
:: build solution from existing cvs.
if not %displayjob2%==y goto job3
if /i "%runtype%"=="b" goto buildsolution

:job3
:: save current build to folder.
if not %displayjob3%==y goto job4
if /i "%runtype%"=="s" (
 set keepcvs=y
 set compressbuild=n
 set savebuildfolder=y
 goto copyfiles
)

:job4
:: rar already built solution
if not %displayjob4%==y goto job5
if /i "%runtype%"=="r" (
 set msg1=rar already built solution.
 set msg2="enter the folder to rar: "
 goto getfolder
)

:job5
:: delete working folder.
if not %displayjob5%==y goto job6
if /i "%runtype%"=="d" goto deletework

:job6
:: change build name.
if not %displayjob6%==y goto job7
if /i "%runtype%"=="c" (
 set msg1=change build name: '%filename%'
 set msg2="enter new build name: "
 goto getfolder
)

:job7
:: user settings.
if /i "%runtype%"=="u" goto menu

:job8
:: exit script.
if /i "%runtype%"=="e" goto exitscript
goto menu

:deletework
echo.
set answer=
set /p answer="delete '%workfolder%\'? (y/n): "
if /i not "%answer%"=="y" goto menu
set keepcvs=n
set compressbuild=n
set savebuildfolder=n
goto cleanupbuild

:getfolder
cls
echo xbox media center build script!
echo.
echo.
echo %msg1%
echo.
echo existing build folder(s)
echo ------------------------
dir /ad /b /on "%finishedbuildsfolder%\"
echo.
echo ^<blank^> to return to menu.
echo ------------------------
echo.

:: get's the builds name.
set answer=
set /p answer=%msg2%

if "%answer%"=="" goto menu

if /i "%runtype%"=="c" (
 set filename=%answer%
 goto menu
)

if not exist "%finishedbuildsfolder%\%answer%" (
 echo.
 echo '%finishedbuildsfolder%\%answer%\' does not exist.
 echo.
 echo 
 pause
 goto getfolder
)
set buildfolder=%finishedbuildsfolder%\%answer%
set filename=%answer%
set keepcvs=y
set compressbuild=y
set savebuildfolder=n
goto compressbuild


:downloadcvs
cls
echo xbox media center build script!
echo.
echo.
if /i "%runtype%"=="f" (
 echo downloading cvs files needed to build solution . . .
 echo.
 if exist "%workfolder%" rmdir "%workfolder%" /s /q
 md "%workfolder%"
 cd /d %workfolder%
 "%cvs%" %cvsoptions%
)

:buildsolution
if not exist "%workfolder%" (
 echo error cvs download does not exist. please choose a full build.
 goto exitscript
)
cls
echo xbox media center build script!
echo.
echo.
echo building xbmc solution '%filename%' (this may take a while) . . .
echo.
cd /d %workfolder%
"%net%" %netoptions% "%netsolution%"
if not exist "%workfolder%\xbmc\release\default.xbe" (
 echo there was an error building solution.
 pause
 goto exitscript
)
echo patching xbmc default.xbe . . .
echo.
"%xbe%" "%workfolder%\xbmc\release\default.xbe"

:: ------------------------------------------------------------------------------------------





-----
:copyfiles
if /i "%runtype%"=="s" (
 cls
 echo xbox media center build script!
 echo.
 echo.
)

cd /d %workfolder%
if exist "%buildfolder%" rmdir "%buildfolder%"
md "%buildfolder%\docs"
md "%buildfolder%\scripts"
md "%buildfolder%\python"

echo extracting webserver's default skin . . .
"%unrar%" %unraroptions% "%webdefaultskin%.rar" "%buildfolder%\web\"

:: copy solution files to build folder.
echo copying build files and folders . . .
echo .
echo cvs>"%workfolder%\exclude.txt"
echo thumbs.db>>"%workfolder%\exclude.txt"

copy "%workfolder%\xbmc\release\default.xbe" "%buildfolder%\"
copy "%workfolder%\xbmc\*.xml" "%buildfolder%\"
copy "%workfolder%\xbmc\*.txt" "%buildfolder%\docs\"
copy "%workfolder%\xbmc\*.pdf" "%buildfolder%\docs\"

xcopy "%workfolder%\xbmc\skin\%defaultskin%\*.xml" "%buildfolder%\skin\%defaultskin%\" /e /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\skin\%defaultskin%\fonts" "%buildfolder%\skin\%defaultskin%\fonts" /e /q /i /y /exclude:exclude.txt
copy "%workfolder%\xbmc\skin\%defaultskin%\*.txt" "%buildfolder%\skin\%defaultskin%\"
copy "%workfolder%\xbmc\skin\%defaultskin%\media\textures.xpr" "%buildfolder%\skin\%defaultskin%\media\"
copy "%workfolder%\xbmc\skin\%defaultskin%\media\background.png" "%buildfolder%\skin\%defaultskin%\media\"
copy "%workfolder%\xbmc\skin\%defaultskin%\media\background2.png" "%buildfolder%\skin\%defaultskin%\media\"

xcopy "%workfolder%\xbmc\mplayer" "%buildfolder%\mplayer" /e /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\credits" "%buildfolder%\credits" /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\media" "%buildfolder%\media" /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\language" "%buildfolder%\language" /e /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\visualisations" "%buildfolder%\visualisations" /e /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\screensavers" "%buildfolder%\screensavers" /q /i /y /exclude:exclude.txt
xcopy "%workfolder%\xbmc\weather" "%buildfolder%\weather" /e /q /i /y /exclude:exclude.txt

:: copies user's modified files to build folder.
echo copying user modified files and folders . . .
echo.
if exist "%customfolder%\xboxmediacenter.xml" ren "%buildfolder%\xboxmediacenter.xml" "xboxmediacenter.txt"
xcopy "%customfolder%" "%buildfolder%" /e /q /i /y

:: uses gsar.exe to replace line in strings.xml with build date
if not "%searchstring%"=="%replacestring%" (
 if not "%searchstring%"=="" (
   echo editing strings.xml, using gsar . . .
   echo.
   "%gsar%" -s"%searchstring%" -r"%replacestring%" -o "%buildfolder%\language\%language%\strings.xml"
   echo.
 )
)
:: ------------------------------------------------------------------------------------------





-----

:compressbuild
:: rars the newly built solution
if /i "%compressbuild%"=="y" (
 echo compressing finished build . . .
 "%rar%" %raroptions% "%finishedbuildsfolder%\%filename%.rar" "%buildfolder%\*"
 echo.
)
if /i "%runtype%"=="r" goto done

:movebuildfolder
:: moves the build folder.
echo cleaning up working folder . . .
cd /d %home%
if /i not "%savebuildfolder%"=="y" (
 goto cleanupbuild
) else (
 echo saving and renaming build folder to finish builds folder . . .
 echo.
)
move /y "%buildfolder%" "%finishedbuildsfolder%\%filename%"

:cleanupbuild
:: clean up build and/or working folder.
if not "%keepcvs%"=="y" (
 if exist "%workfolder%" rmdir /s /q "%workfolder%"
) else (
 del /q "%workfolder%\*.*"
)
if exist "%buildfolder%" rmdir /s /q "%buildfolder%"

:done
:: completed job. inform user where the folder and/or compressed file is.
cls
echo xbox media center build script!
echo.
echo.
echo ------------------------------------------------------
echo the selected job has completed.

if /i "%runtype%"=="d" (
 echo.
 if not exist "%workfolder%" (
   echo deleted folder '%workfolder%\'
 ) else (
   echo an error occured deleting the folder.
 )
)

if /i "%compressbuild%"=="y" (
 echo.
 if exist "%finishedbuildsfolder%\%filename%.rar" (
   echo the compressed build is in '%finishedbuildsfolder%\' named '%filename%.rar'
 ) else (
   echo an error occured compressing the build.
 )
)

if /i "%savebuildfolder%"=="y" (
 echo.
 if exist "%finishedbuildsfolder%\%filename%" (
   echo the build folder is in '%finishedbuildsfolder%\' named '%filename%'
 ) else (
   echo an error occured moving the build folder.
 )
)
echo ------------------------------------------------------
echo 

if /i not "%cmdswitch%"=="/u" (
 echo.
 pause
 goto begin
)

:exitscript

i hope cut and paste works.  Smile
For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
Reply
thx a lot !!!

best regards
craxxWink
Reply
(san9jay @ feb. 01 2004,23:43 Wrote:trying to compile the 2004-02-01 cvs tarball.

i get the following error:

application.obj : error lnk2019: unresolved external symbol "public: bool _ _thiscall cxbfilezilla : Confusedtart(void)" (?start@cxbfilezilla@@qae_nxz) referenced in function "public: virtual long __thiscall capplication::initialize(void)" (?initialize@capplication@@uaejxz)


any ideas?
did anyone figure out how to fix these link errors? i get about a 100 of them. i went to project dependencies and checked all of the checkboxes. nothing works. help please.

here an error example:
xbmc error lnk2019: unresolved external symbol "public: virtual thiscall capplication::~capplication(void)" (??1capplication@@uae@xz)

everything compiles fine, but the linking does not work. thank you.
Reply
hi

i'm newbie here. and got question about aqtbrowser.py.

i was able to build xmbc from cvs source code, and deploy it to xbox without problem. the only issue is: i can not found aqtbrowser.py from scripts.rar, also kmlbrowser.py. i copy the old aqtbrowser.py and it works except no background pic. anybody know where can i get latest version of aqtbrowser.py? and how to install it?

thanks
Reply
(noodle @ jan. 07 2005,18:21 Wrote:hi

i'm newbie here. and got question about aqtbrowser.py.

i was able to build xmbc from cvs source code, and deploy it to xbox without problem. the only issue is: i can not found aqtbrowser.py from scripts.rar, also kmlbrowser.py. i copy the old aqtbrowser.py and it works except no background pic. anybody know where can i get latest version of aqtbrowser.py? and how to install it?

thanks
wrong forum, wrong thread ...but the answer is; it's not in the cvs, you can find it  here (link). use support forum in the future
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
my xbmcdbr package now has a website here check the latest package and tell me what you guys want added...

@jgawera - i am planning on now implementing your script snippets for vs.net and winrar locations. i'll put it in the nest update, as well as add you to the credits.

@Nuka1195 i may also borrow some of your ideas and add them in, at which point i will also add you to the credits also...

i am going to add a setup.bat instead of directory_setter.bat. users will be able to run that file once, then never have to fool with it, until a new release or if they want to setup different options...

please throw some ideas/ your most wanted features at me, i'm open for anything that makes sense and will not be too hard for the common person to use...
Image
Reply
yay :thumbsup:

ok, here's some ideas for features i would like.

if possible, get rid of the setup/directory setter scripts
just have one self contained script that tries to figure everything out by it's self. -- no user input.

so i just download your package, run it and i have the latest xbmc.

i personally would prefer the codecs to be in the same package. since we know we need broadband to run this, why not simplify it by having one download. i know the codecs may not change very often, but i find that i usually download both packages anyway, just to be sure i have the latest everything.

add some advanced options to help xbmc developers use your script.

- download cvs only
- build from local cvs (if i wanted to change the source)
- download build rar but don't cleanup files

if i think of anything else, i'll post it here.

thanks again for a great script.
Reply
(jgawera @ jan. 11 2005,04:59 Wrote:yay :thumbsup:

ok, here's some ideas for features i would like.

if possible, get rid of the setup/directory setter scripts
just have one self contained script that tries to figure everything out by it's self. -- no user input.

so i just download your package, run it and i have the latest xbmc.

i personally would prefer the codecs to be in the same package. since we know we need broadband to run this, why not simplify it by having one download. i know the codecs may not change very often, but i find that i usually download both packages anyway, just to be sure i have the latest everything.

add some advanced options to help xbmc developers use your script.

- download cvs only
- build from local cvs (if i wanted to change the source)
- download build rar but don't cleanup files

if i think of anything else, i'll post it here.

thanks again for a great script.
welll, for one of the reasons you state "download cvs only", is why i need the setup script. the script should run with no user input so it may be a scheduled task, but if users want to specify something, there has to be a way for them to do that...

anyways, you are right though less user input is always good, but if they only have to do it once, i belie it's fine...

as for the codecs package being seperate, i do that in case people choose not to use my script at all and they just want he codecs package, also my isp webspace is 10mb per user account, so seperating it leaves me headroom to add new codecs in the future...
Image
Reply
ok i updated the xbmcdbr website with the latest info and changes. hope you like it jgawera and nuka1195 Smile ,
oh and of course anyone else who enjoys using it !!
Image
Reply
xbmcdbr now has automated ftp!

check out the website for more info:
xbmcdbr homepage

look in the changelog, instructions, and batch files info sections!
it's been a long time coming but now, xbmc updating is fully automated if you want it to be !
Image
Reply
ok there are a few, meaning 3 minor errors, with my batch at the moment. they will be fixed within a couple hours.
Image
Reply
  • 1
  • 9
  • 10
  • 11(current)
  • 12
  • 13

Logout Mark Read Team Forum Stats Members Help
HOW-TO compile XBMC for Xbox from SVN0