Patrick Walton
5f1e8fa601
Add support for static linking.
...
Use `make STATIC=1` to build a static library.
Some language ecosystems, like those of Rust, have a convention of
static linking in order to make binaries easier to distribute. In those
environments, this feature helps libui fit in more easily.
In order to prevent internal symbols from linking, we first create an
intermediate object file with `ld -r` and strip private symbols from it
before using `ar` to create the library.
2016-05-28 14:46:02 -07:00
Pietro Gagliardi
7ebb4cea9a
Changed the release flag from NODEBUG to RELEASE.
2016-05-14 11:12:45 -04:00
Pietro Gagliardi
897674d20f
Made the queuemaintest a multithreading example, because why not.
2016-05-12 12:50:05 -04:00
Pietro Gagliardi
a3344f0341
Two important changes to the Windows build:
...
1) cvtres is no longer used directly. MSDN says to send the .res files to link.exe; that runs cvtres for us (at least it seems to, accoring to Google results for error LNK1158). It'll also avoid some of the weird warnings in cvtres, like CVT4001.
2) (and more important, but it depended on 1) Command-line switches are now passed using - instead of /. This is because some versions of MinGW are buggy and treat anything that starts with a / as a MSYS filename that needs to be converted to a Windows pathname.
Update #16 .
2016-01-19 16:40:00 -05:00
Pietro Gagliardi
68a3476f35
Fixed the controlgallery example. Reenabled it in make examples. Changed .travis.yml to build the test first.
2016-01-06 19:38:27 -05:00
Pietro Gagliardi
9570981b50
Cleaned up some things related to the previous merge.
2016-01-04 15:52:39 -05:00
Florent Clairambault
c204e47b72
Various fixes around makefiles
...
* $PREFIX is uppercase (I have no idea why I put it lowercase before).
* "install" rules is OS specific and moved to new OS specific files. So that they can be included last.
* "examples" rule defines the list of examples to execute.
* Travis launches the "test" rule.
2016-01-01 23:19:14 +01:00
Florent Clairambault
b795cda79e
Makefile: Added examples + install rules.
2016-01-01 01:42:54 +01:00
Pietro Gagliardi
acf3b3564e
Set up the new Unix build. Now to do the OS X build.
2015-12-11 18:37:15 -05:00
Pietro Gagliardi
70886e4ade
Moved the old build files away. Yes that's right folks, we're redoing the build system *again*! Isn't that *fun*?
2015-12-10 18:49:50 -05:00
Pietro Gagliardi
5e26720f18
Removed $ARCH from the build.
2015-12-09 13:49:13 -05:00
Pietro Gagliardi
6bb659de4e
More TODOs.
2015-11-27 20:52:56 -05:00
Pietro Gagliardi
e24bde16ba
Entering Valhalla.
2015-11-17 10:46:58 -05:00
Pietro Gagliardi
c9b241a7b6
More makefile work.
2015-10-17 10:20:31 -04:00
Pietro Gagliardi
f19d3cd0c7
More makefile work.
2015-10-16 22:49:54 -04:00
Pietro Gagliardi
790edf0df8
Assembled a new make system. Not quite working the way I'd like yet, but definitely a start.
2015-10-16 20:55:09 -04:00
Pietro Gagliardi
87680a6470
Built the framework for matrices and transformations and implemented it on the GTK+ backend. Tests to come next.
2015-10-11 11:13:01 -04:00
Pietro Gagliardi
ef04c18856
Merged the GTK+ uiArea implementation with its backend. Now we just have to move the test program.
2015-10-08 18:24:09 -04:00
Pietro Gagliardi
54332b90fb
Finally merged out the redo folder.
2015-09-02 13:48:06 -04:00
Pietro Gagliardi
e3c64dc0d1
Removed what was left in the main folder. We are so fucking close..
2015-09-02 13:47:18 -04:00
Pietro Gagliardi
8213eac2d7
Moved everything up a directory level.
2015-08-27 12:05:11 -04:00
Pietro Gagliardi
d98ca5dfd4
Removed more files from the top level.
2015-08-27 11:59:59 -04:00
Pietro Gagliardi
a2cf4908a3
Started cleaning up bin handling. uiBin is now a real type and all of the things you need to do to a bin are its methods.
2015-05-10 12:36:14 -04:00
Pietro Gagliardi
c395cdd2fd
Added uiOnShouldQuit() and its common code.
2015-05-09 09:50:23 -04:00
Pietro Gagliardi
e6b33aafd0
Cleaned up the make output to be less noisy.
2015-05-07 18:46:19 -04:00
Pietro Gagliardi
49595bb18d
Set up proper -m flag manipulation for cross-compiling builds.
2015-05-07 16:02:34 -04:00
Pietro Gagliardi
956b78718f
Migrated windows/tab.c to ptrarray and fixed the build.
2015-05-06 13:37:23 -04:00
Pietro Gagliardi
6c6bce3702
Moved everything back to the top level.
2015-04-29 11:02:38 -04:00
Pietro Gagliardi
7c91616af1
More old code file removal.
2015-04-28 13:53:45 -04:00
Pietro Gagliardi
a1e720bc05
Restructured the uiMenu type system. Will apply to the backends soon.
2015-04-20 23:35:26 -04:00
Pietro Gagliardi
b45be6e5ab
Turned off switch enum checks. There's nothing wrong with an omitted enum case; it might have been odne already!
2015-04-20 22:37:49 -04:00
Pietro Gagliardi
845104a1a1
Started a framework for menus.
2015-04-20 17:34:49 -04:00
Pietro Gagliardi
c3adfb7225
Changed uiStack to uiBox.
2015-04-20 10:19:25 -04:00
Pietro Gagliardi
9bc8704c83
Added make clean rule.
2015-04-16 21:22:31 -04:00
Pietro Gagliardi
b91fe0c2ac
Some more makefile fixups.
2015-04-16 20:52:47 -04:00
Pietro Gagliardi
07c484c0af
Fixed Makefiles for OS X building.
2015-04-16 14:59:17 -04:00
Pietro Gagliardi
4b611f80cf
Fixed a comment.
2015-04-15 19:20:46 -04:00
Pietro Gagliardi
47a4bd3ae7
Added the Unix build rules.
2015-04-15 19:17:21 -04:00
Pietro Gagliardi
aa802768a4
Started building the make structure.
2015-04-15 19:14:28 -04:00