Hi E users, Some time ago I discovered raster's "get_e.sh" script which made the process of building Enlightenment less painfull
I've spend some time modyfing it and it helps me whenever I build anything related to E. The other day I spoke about it on irc and someone told me to send it to mailing-list, so here it is: http://espeweb.no-ip.com/misc/pespin/scripts/get_e3.sh Some features: * You can change behaviour using config in the script's top part. * Dynamically set packages to build. * Different actions: help, dependencies, checkout, update, clean, configure, make, install. * distcc support in config Here some explanation on how does it works, in case someone wants to try it: You should place the script in some dir you want to have all the efl sources, ie. ~/dev/E/get_e3.sh Inside this dir, get_e3 looks into its subdirs to build, so for example, you can categorize your projects: ~/dev/E/e/e ~/dev/E/e/e_dbus ~/dev/E/e/elementary ~/dev/E/apps/intone ~/dev/E/others/another_project_you_want_to_build The script is usally used as: $ MODULES="package1 package2" ./get_e3.sh action1 action2 action3 You can set default modules and default actions in the script config You can start by doing a checkout for E "standard" packages: $ ./get_e3.sh checkout Then you'll find packages in ~/dev/E/e/ You can update repos at any time by using ./get_e3.sh update Before start building them, let's checkout for dependencies: $ ./get_e3.sh dependencies Now, let's compile and install all of them... as easy as doing: $ ./get_e3.sh Some other tips: * Using distcc to parallel build with several computers 1) run distcc daemon on other computers allowing the PC which is going to run the script: $ distccd --daemon --allow ip.of.script.pc 2) Modify script config: 2.1) Set USE_DISTCC to "yes" 2.2) Add the hostname of the other computers which will help to compile 3) MODULES="package1 package2" ./get_e3.sh make * Changing building order: You can change the way in which the script execs the actions on the modules. By using STAGING variable (yes/no) you can make the script perform like: 1) foreach(action) do it in all packages; 2) foreach(package) do actions; * You can organize modules so that you can ie. perform: MODULES="`ls apps`" ./get_e3.sh Hope it will be of interest to somebody ;) -- Pau Espin Pedrol mail/jabber: [email protected] http://espeblog.no-ip.org "A través de los siglos, la humanidad ha probado muchas formas de combatir las fuerzas del mal... oración, ayuno, buenas obras y todo eso. Hasta que llegó Doom, nadie parecía haber pensado en la escopeta de doble cañón. Traga plomo ardiente, demonio.." ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ enlightenment-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
