diff options
author | David Walter Seikel | 2014-04-27 16:48:07 +1000 |
---|---|---|
committer | David Walter Seikel | 2014-04-27 16:48:07 +1000 |
commit | 568c8829db2f886921c7592cadbadbf4241127b6 (patch) | |
tree | 0af400526db683fa4ff5fb18a7eb2f685795fd04 /TODO | |
parent | Added stuff cut and pasted from the new Evas_3d examples, but they are broken... (diff) | |
download | SledjHamr-568c8829db2f886921c7592cadbadbf4241127b6.zip SledjHamr-568c8829db2f886921c7592cadbadbf4241127b6.tar.gz SledjHamr-568c8829db2f886921c7592cadbadbf4241127b6.tar.bz2 SledjHamr-568c8829db2f886921c7592cadbadbf4241127b6.tar.xz |
Centralise the PACKAGE_* stuff, move our libraries to lib, and shuffle stuff to suit.
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 46 |
1 files changed, 3 insertions, 43 deletions
@@ -3,45 +3,19 @@ FIXES - | |||
3 | Project paths | 3 | Project paths |
4 | ------------- | 4 | ------------- |
5 | 5 | ||
6 | CFLAGS = CFLAGS .. ' -DPACKAGE_BIN_DIR=\\"' .. baseDir .. '\\"' | ||
7 | CFLAGS = CFLAGS .. ' -DPACKAGE_LIB_DIR=\\"' .. baseDir .. '\\"' | ||
8 | CFLAGS = CFLAGS .. ' -DPACKAGE_DATA_DIR=\\"' .. baseDir .. '\\"' | ||
9 | |||
10 | // There is also a locale variety, but we are not dealing with locale stuff yet. | ||
11 | // There is a prefix variety, but you can't set it, only read it later. | ||
12 | // These set the fallbacks used by elm_app_info_set(), that are defined at compile time. | ||
13 | elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR); | ||
14 | elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); | ||
15 | elm_app_compile_lib_dir_set(PACKAGE_LIB_DIR); | ||
16 | // Do this after the above calls, but before changing the working directory, or screwing with argv[0]. | ||
17 | // It tries to set up the package paths depending on where the executable is, so things are relocatable. | ||
18 | // First argument is the elm_main() function that Elementary starts us from. | ||
19 | // Second argument should be a lower case string used as the "domain", which is different from the log domain. | ||
20 | // It's used lower case as part of the data directory path. | ||
21 | // So, if prefix is /usr/local, then the system data dir is /usr/local/share, | ||
22 | // and this apps data dir is /usr/local/share/"domain". | ||
23 | // It's used upper case as part of environment variables to override directory paths at run time. | ||
24 | // So "DOMAIN"_PREFIX, "DOMAIN"_BIN_DIR, "DOMAIN"_LIB_DIR, "DOMAIN"_DATA_DIR, and "DOMAIN"_LOCALE_DIR | ||
25 | // Third argument is the name of a file it can check for to make sure it found the correct path. | ||
26 | // This file is looked for in the data dir. | ||
27 | elm_app_info_set(elm_main, "GuiLua", "skang.lua"); | ||
28 | // Once this is all setup, the code can do - | ||
29 | elm_app_prefix_dir_get(); // or bin, lib, data, locale. | ||
30 | |||
31 | The executables currently live in ...../SledjHamr. | 6 | The executables currently live in ...../SledjHamr. |
32 | Test executables stay in the src directory. | 7 | Test executables stay in the src directory. |
33 | Media and other data in SledjHamr/media (includes the test sim and Irrlicht examples). | 8 | Media and other data in SledjHamr/media (includes the test sim and Irrlicht examples). |
34 | Libraries are in SledjHamr/libraries (including Irrlicht, lemon, and some sources). | 9 | External libraries are in SledjHamr/libraries (Irrlicht and lemon). |
35 | Should move LumbrJack and Runnr sources to src, and probably lemon to. | ||
36 | Irrlicht is statically linked, so except for it's media, we don't need it at run time. | 10 | Irrlicht is statically linked, so except for it's media, we don't need it at run time. |
37 | We could probably move the Irrlicht examples we actually use (all test data anyway) to Test sim. | 11 | We could probably move the Irrlicht examples we actually use (all test data anyway) to Test sim. |
12 | Lemon is only used at build time. | ||
38 | 13 | ||
39 | Builders should be able to - | 14 | Builders should be able to - |
40 | put binaries in /usr/local/bin | 15 | put binaries in /usr/local/bin |
41 | put libraries - /usr/local/lib/SledjHamr | 16 | put libraries - /usr/local/lib/SledjHamr |
42 | put media in /usr/local/share/SledjHamr | 17 | put media in /usr/local/share/SledjHamr |
43 | If they don't, those things should be in the build directory, where they are now. | 18 | If they don't, those things should be in the build directory, where they are now. |
44 | And looked up locally to allow moving it as one thing. | ||
45 | 19 | ||
46 | User should be able to - | 20 | User should be able to - |
47 | Run sims from where ever they like. | 21 | Run sims from where ever they like. |
@@ -53,12 +27,6 @@ User should be able to - | |||
53 | Write their own skins, using their own media. | 27 | Write their own skins, using their own media. |
54 | 28 | ||
55 | SOOOO ... | 29 | SOOOO ... |
56 | build.lua should set - | ||
57 | PACKAGE_BIN_DIR = SledjHamr | ||
58 | PACKAGE_LIB_DIR = SledjHamr/libraries (should rename this to lib) | ||
59 | PACKAGE_DATA_DIR = SledjHamr/media | ||
60 | PACKAGE_LOCALE_DIR = SledjHamr/locale (doesn't exist yet) | ||
61 | |||
62 | install.lua should - (doesn't exist yet) | 30 | install.lua should - (doesn't exist yet) |
63 | SledjHamr binaries -> prefix .. '/bin' | 31 | SledjHamr binaries -> prefix .. '/bin' |
64 | SledjHamr/libraries -> prefix .. '/lib/SledjHamr' | 32 | SledjHamr/libraries -> prefix .. '/lib/SledjHamr' |
@@ -69,14 +37,6 @@ SOOOO ... | |||
69 | For now, we don't care, there's no actual installing going on. | 37 | For now, we don't care, there's no actual installing going on. |
70 | SledjHamr/locale -> prefix .. '/share/SledjHamr/locale' | 38 | SledjHamr/locale -> prefix .. '/share/SledjHamr/locale' |
71 | 39 | ||
72 | Some library function should call all the elm_app_compile_*_dir_set() functions. | ||
73 | They should be set as -D options only for that library. | ||
74 | elm_app_info_set() has to be called for each different elm_main(), so that might be tricky. | ||
75 | elm_app_*_dir_get() can then be called from anywhere, and will get the same results. | ||
76 | NOTE - this is Elm specific, so non GUI stuff like LuaSL can't use it. | ||
77 | Seems that non Elm examples all just use the PACKAGE_*_DIR type macros directly in strings. | ||
78 | |||
79 | |||
80 | 40 | ||
81 | Irrlicht is flickering like crazy. Hmm, might be Irrlicht's fault, | 41 | Irrlicht is flickering like crazy. Hmm, might be Irrlicht's fault, |
82 | mostly it flickers to black, but I've seen it flicker to the first frame | 42 | mostly it flickers to black, but I've seen it flicker to the first frame |
@@ -118,7 +78,7 @@ Write my own, use ePhysics. Hopefully ePhysics has some sort of | |||
118 | magnetism / attraction thingy. See the forces demo, should be doable. | 78 | magnetism / attraction thingy. See the forces demo, should be doable. |
119 | Collision restraints and impulses? | 79 | Collision restraints and impulses? |
120 | 80 | ||
121 | See if Evas allows detaching stuff from one canvas and adding it to | 81 | See if Evas allows detaching stuff from one canvas and adding it to |
122 | another canvas. This allows things like tearing off tabs from windows, | 82 | another canvas. This allows things like tearing off tabs from windows, |
123 | tearing off sub menus, and switching windows between internal and | 83 | tearing off sub menus, and switching windows between internal and |
124 | external windows, without having to entirely recreate the UI stack | 84 | external windows, without having to entirely recreate the UI stack |