| 00:30.27 | ``Erik | poor guy |
| 01:58.33 | brlcad | starseeker: if it's quick, all or nothing is probably fine |
| 01:59.26 | brlcad | since you can still rebuild specific targets |
| 02:01.47 | brlcad | starseeker: and yes, all of the package requires are *potentially* problematic, if code is called that uses that package. that's one of the specific intents of libtclcad's autopath init code, to find stuff whether installed or not |
| 02:06.14 | brlcad | changing them to package require code is perfectly fine, but should just make sure they still work the same as they do now by running mged before install and having it still work (as well, of course, post-install) |
| 02:07.10 | brlcad | that feature is useful and has been used for development porting and testing over the years |
| 02:07.30 | starseeker | fwiw, I can start bwish from my build directory |
| 02:08.24 | starseeker | mged I don't have working either pre or post install yet - at a minimum I need to get install logic in place for src/tclscripts, and there may be other issues |
| 02:09.44 | starseeker | I'm a bit fried, so I'll have to tackle it tomorrow, but I need to get tclscripts, the install headers, doc and the docbook logic set up |
| 02:10.03 | brlcad | did you make sure you didn't already have an install in place that it might have picked up? |
| 02:10.10 | brlcad | if it was a clean test, then good to go |
| 02:10.32 | starseeker | I cleared out /usr/brlcad, IIRC... |
| 02:10.36 | starseeker | checks |
| 02:10.36 | brlcad | k |
| 02:11.34 | brlcad | if you follow the --enable-only-benchmark logic, that enables our "core" components that constitute a representative base build |
| 02:11.57 | starseeker | nods |
| 02:12.02 | brlcad | mged, rt, asc2g (technically all conv for simplicity), etc |
| 02:12.45 | starseeker | 'course, with this approach to building the tcl/tk stuff is "installed" and in place anyway, at least from the standpoint of the BRL-CAD code - I take it you ment a tcl/tk install elsewhere on the system? |
| 02:13.36 | starseeker | I should be pretty darn close to having most of the binaries built, although I don't have some of the nicities like version arguments for the libraries in yet |
| 02:13.39 | brlcad | nothing tcl/tk specific really |
| 02:14.03 | starseeker | (also, it looks like autotools is building both .so and .a files for the libraries and I'm just building .so (or .dylib, depending on platform) |
| 02:14.08 | brlcad | it's library runtime management |
| 02:14.16 | starseeker | nods |
| 02:14.49 | starseeker | I did some reading on the CMake wiki about the options for runtime stuff, and I THINK I'm in good shape |
| 02:15.07 | brlcad | yeah, being able to --disable-shared has been useful many times over |
| 02:15.10 | starseeker | I have been able to run rt successfully from non-installed and installed off of the CMake build |
| 02:15.14 | brlcad | nick had to use it just a couple weeks ago |
| 02:15.32 | starseeker | winces - I can probably set that up, but it may take a little doing |
| 02:15.34 | brlcad | best way to debug |
| 02:16.27 | brlcad | it's a lot more involved than it seems on the surface |
| 02:16.37 | brlcad | it's another thing libtool just takes care of for us |
| 02:16.55 | starseeker | CMake has shared and static support, but I'm still learning my way around it |
| 02:17.23 | starseeker | given the hideous size of the resulting files, I had assumed static was something we would use only when we really had to |
| 02:18.06 | brlcad | .so/.dylib's should be position-independent code (-fPIC) ... archive files are without -fPIC |
| 02:19.27 | starseeker | sigh - that's probably another speed differential between CMake and autotools builds - I'm not doing the static copy for every library |
| 02:25.39 | *** join/#brlcad IriX64 (~IriX64@bas2-sudbury98-1177593807.dsl.bell.ca) | |
| 02:32.15 | *** join/#brlcad akafubu (~akafubu@unaffiliated/akafubu) | |
| 02:39.13 | CIA-88 | BRL-CAD: 03starseeker * r40486 10/brlcad/branches/cmake/ (22 files in 22 dirs): Another tidbit from the CMake list - take out the LIBRARY part of the INSTALL command for libraries (ARCHIVES are static libraries, apparently) and turning off BUILD_SHARED_LIBS actually results in a build. |
| 02:39.24 | starseeker | 'course, not a fully WORKING build, but hey... |
| 02:41.53 | starseeker | alright, enough for one day |
| 02:48.48 | brlcad | starseeker: undoubtedly a speed difference -- we technically compile every source file twice in the auto* build (once PIC, another non-PIC) |
| 02:49.03 | brlcad | all under the hood behind the scenes automatic |
| 03:04.29 | starseeker | brlcad: is it essential that both be built, or is an either/or setup enough? |
| 05:58.15 | Ralith | I imagine the static libs are only of interest to lib user developers, and few of those, even |
| 05:58.20 | Ralith | assuming all platforms support dynamic |
| 07:05.41 | *** join/#brlcad merzo (~merzo@smartbussiness.mobicom.net.ua) | |
| 09:48.50 | ``Erik | PIC only makes sense in a lib, kinda irrelevant in an executable... I can see a lib user wanting the static stuff (.a) to provide a single drop binary if they're not clever enough to provide the shared libs |
| 09:50.29 | ``Erik | (I've even been toying with the notion of aggregating several libs into one .so/.dll/.dylib/.sl/etc for convenience in a drop) |
| 11:16.05 | *** join/#brlcad Zaebos (~irc@pd95b7f5e.dip0.t-ipconnect.de) | |
| 11:25.24 | brlcad | starseeker: it's pretty standard practice to install static and non-static libraries as they serve different purposes |
| 11:29.49 | brlcad | wow, looks like they kinda fucked that one up: http://www.paraview.org/Wiki/CMake_FAQ#Can_I_build_both_shared_and_static_libraries_with_one_ADD_LIBRARY_command.3F |
| 11:32.32 | brlcad | you either have to give them different names (which is fine if the install rule fixes the name), or you rely on peeking at cmake internals to get at the object files |
| 11:33.05 | brlcad | looks necesary: http://www.paraview.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F |
| 12:06.37 | starseeker | brlcad: what purpose do the static libraries serve in a standard install? (just curious) |
| 12:08.02 | starseeker | that's definitely gonna be the speed difference, at least on gentoo :-/ |
| 12:10.10 | starseeker | I've got to get the oil changed on my car (light is on, waaaay late this time) so I'll be in after that |
| 12:10.48 | starseeker | I'll try and update the macros to take care of the static/shared logic |
| 12:11.55 | starseeker | ``Erik: my thought was if someone wants the static libs they could compile BRL-CAD themselves with that option turned on... seems like a lot of overhead to stick in the install... |
| 12:12.25 | starseeker | but that's not an area I know all that much about yet :-/ |
| 12:13.09 | starseeker | looks like gentoo does that too for most libs |
| 12:15.59 | starseeker | winces at the thought of compiling all the libs twice... |
| 12:16.33 | brlcad | same purpose static libraries solve anywhere :) |
| 12:17.40 | brlcad | if someone is trying to build *their* application static, they have to link against static libraries |
| 12:17.55 | starseeker | thought building a static application was quite rare in this day and age |
| 12:18.04 | brlcad | the speed difference is no different than what we currently do |
| 12:18.16 | brlcad | we build both now |
| 12:18.35 | starseeker | brlcad: oh, I know - I was hoping CMake was faster, but it turns out it just wasn't doing all the work yet :-P |
| 12:18.47 | brlcad | it's rare for production installs, but no less rare than solaris builds or freebsd usage |
| 12:19.22 | starseeker | waits for ``Erik to pick up that gauntlet... |
| 12:19.36 | brlcad | could add an option to enable/disable, but our production releases should include both as a matter of principle |
| 12:20.23 | starseeker | OK. I may leave the static stuff off in the Debug build type though... |
| 12:20.27 | brlcad | still, how rare shouldn't really matter -- it's an expectation |
| 12:20.50 | brlcad | given every libtool program produces and installs both, they're not rare at all from that persepctive |
| 12:21.12 | starseeker | that's a hell of a lot of compiler time and disk space just for an expectation, but I guess you're right |
| 12:22.32 | brlcad | I think statics are used by private orgs way more than realized too, as that's the most convenient way to distribute an app |
| 12:22.38 | brlcad | it has no dependencies |
| 12:23.01 | starseeker | how big is a full static build of mged? |
| 12:23.08 | brlcad | e.g., we could post an adrt/isst application binary fully static that links gtk, without requiring gtk |
| 12:23.21 | brlcad | you don't build the apps static |
| 12:23.24 | brlcad | libraries |
| 12:23.36 | starseeker | yeah, I guess come to think of it Opera does release a version built static |
| 12:23.40 | starseeker | ah |
| 12:24.20 | brlcad | rather, we wouldn't build apps static -- the expectation is that there are dynamic and static libraries provided, so I can link my application however I need to |
| 12:25.39 | starseeker | alrightie, I'll see what I can do |
| 12:25.58 | starseeker | dismally wonders how many more little gotchas are waiting in the wings... |
| 12:28.35 | starseeker | wow, this sounds cool: http://www.eurekalert.org/pub_releases/2010-09/miot-mrc090110.php |
| 12:41.12 | *** join/#brlcad d_rossberg (~rossberg@BZ.BZFLAG.BZ) | |
| 13:43.00 | *** join/#brlcad Zaebos (~irc@pd95b7f5e.dip0.t-ipconnect.de) | |
| 17:14.05 | CIA-88 | BRL-CAD: 03starseeker * r40487 10/brlcad/branches/cmake/src/mged/cmd.c: Whoops, stray itcl.h |
| 17:57.05 | brlcad | probably dozens |
| 18:08.54 | CIA-88 | BRL-CAD: 03starseeker * r40488 10/brlcad/branches/cmake/ (23 files in 23 dirs): Switch all the libraries over to using our ADDLIB macro, in preparation for adding in a static option. |
| 18:20.34 | *** join/#brlcad mafm (~mafm@83.42.152.208) | |
| 18:23.50 | CIA-88 | BRL-CAD: 03starseeker * r40489 10/brlcad/branches/cmake/ (4 files in 4 dirs): |
| 18:23.50 | CIA-88 | BRL-CAD: Since we're never going to want liblib as our prefix on a file name, have our |
| 18:23.52 | CIA-88 | BRL-CAD: add_library wrapper catch target names with lib in them and turn off the lib |
| 18:23.52 | CIA-88 | BRL-CAD: PREFIX in the target properties. Now if we decide to rename all the lib targets |
| 18:24.03 | CIA-88 | BRL-CAD: (e.g. bu->libbu, bn->libbn, etc.) all we have to do is rename them. |
| 18:30.41 | *** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav) | |
| 18:42.15 | CIA-88 | BRL-CAD: 03starseeker * r40490 10/brlcad/branches/cmake/ (CMakeLists.txt misc/CMake/BRLCAD_Util.cmake): |
| 18:42.15 | CIA-88 | BRL-CAD: OK, here we go - build shared and static libraries by default thanks to some |
| 18:42.15 | CIA-88 | BRL-CAD: macro fun. Naturally, Windows immediately makes me eat my words - we do need a |
| 18:42.15 | CIA-88 | BRL-CAD: lib prefix in all cases on Windows for static libs, so only in that case always |
| 18:42.16 | CIA-88 | BRL-CAD: set the prefix to 'lib' regardless of target name. |
| 18:47.45 | CIA-88 | BRL-CAD: 03starseeker * r40491 10/brlcad/branches/cmake/CMakeLists.txt: Fix comment. |
| 20:59.54 | CIA-88 | BRL-CAD: 03starseeker * r40492 10/brlcad/branches/cmake/ (4 files in 4 dirs): Add build logic for URToolkit - don't have a Find* script for this yet. |
| 21:00.57 | *** join/#brlcad R0b0t1 (~Enigma@unaffiliated/r0b0t1) | |
| 21:02.06 | *** join/#brlcad Nohla (~Nohla@201.255.233.16) | |
| 21:12.00 | starseeker | blinks - apparently zlib regards crc32.h as a private header |
| 21:12.18 | starseeker | our autotools build installs it though |
| 21:13.57 | CIA-88 | BRL-CAD: 03starseeker * r40493 10/brlcad/branches/cmake/misc/CMake/BRLCAD_Util.cmake: Whoops, might want to actually install the static libs... |
| 21:13.58 | CIA-88 | BRL-CAD: 03starseeker * r40494 10/brlcad/branches/cmake/ (CMakeLists.txt include/CMakeLists.txt): Add install logic for the headers. |
| 21:44.53 | CIA-88 | BRL-CAD: 03starseeker * r40495 10/brlcad/branches/cmake/ (4 files in 4 dirs): Add more headers to the install. |
| 21:47.02 | *** join/#brlcad Ralith (~ralith@d142-058-095-117.wireless.sfu.ca) | |
| 21:54.24 | Ralith | does Tom Browder come here? |
| 22:17.46 | brlcad | Ralith: rarely |
| 22:18.27 | brlcad | starseeker: the installed names shouldn't be libbu-static.a ... there was an FAQ on making the static and non-static install with the right name |
| 23:08.57 | *** join/#brlcad IriX64 (~IriX64@bas2-sudbury98-1177726445.dsl.bell.ca) | |
| 23:37.51 | starseeker | brlcad: did I do it wrong? I thought I used the FAQ as the template |
| 23:38.02 | starseeker | looks |
| 23:38.37 | starseeker | it's installing as libbu.a - it's just the target name that's bu-static |