--- Log opened Thu Jul 01 00:00:53 2021 00:21 -!- belcher_ is now known as belcher 01:28 < real_or_random> re build system stuff: 01:31 < real_or_random> The goal of the my commits there was just to make the simplest change to make the build run. So make now builds gen_pre_g if requested and it needs to run only by devs. 01:32 < real_or_random> This doesn't add a target to the make file to *run* gen_pre_g as we discussed, but that's just a few more lines. 01:33 < real_or_random> I omitted this for now because it could be done in separate commit and I felt it's kind of pointless to have this indirection through make as long as we only have one executable to run. 01:34 < real_or_random> So "make precomp" or similar makes more sense when it runs both ./gen_preg_g and ./gen_context but for this to work we should convert the latter to the same approach 01:34 < real_or_random> Does this make sense? 01:37 < gmaxwell> yeah they should both get converted at once. 01:39 < real_or_random> Of course, if you think that makes sense, I could contribute another commit now that adds the target. Then it'll be already in place when we convert the same for ./gen_context, which I think should be done in a separate PR because this will be be mostly build system changes. 01:41 < real_or_random> gmaxwell: Ah, sorry, didn't see your message. Why do you think they should be converted at once? I believe it would expand the scope of the PR unnecessarily 01:41 < gmaxwell> having it mixed is weird, I mean I don't care if they're one or two PRs but it shouldn't sit around in a mixed state for long. 01:42 < gmaxwell> The obvious way to sequence it would be to convert the old table to have a commited form, and then add the other table. 01:50 < gmaxwell> like how do you handle static set off when the code for the var-time table has been made static only? 01:51 < real_or_random> agreed 01:52 < real_or_random> that's optimal. but I guess, having two separate PRs is still fine then 01:53 < real_or_random> and we wouldn't need to merge the first even, I just want to save roconnor autotools stuff 03:56 -!- roconnor [~roconnor@host-45-78-206-181.dyn.295.ca] has joined #secp256k1 03:58 < roconnor> real_or_random: I would prefer to add the make precomp to this PR so I can update https://github.com/bitcoin-core/secp256k1/pull/956/files#diff-2deddf2f689329d3637770e6577ccc6d73482d688a5ec1f4fa5707274ac957c6R219 with accurate instructions. 03:59 < real_or_random> I see, that makes sense 04:00 < roconnor> I figure we can have the target make just this table for now, and add the gen table in another PR. 04:00 < real_or_random> yep that sounds good 04:00 < real_or_random> I can write a patch that adds the target. 04:00 < roconnor> I would appreciate that. 04:04 < real_or_random> what else is WIP? 04:24 < roconnor> updating that error message. Updating the commit messages. 05:39 < real_or_random> ok, so maybe I'm just lazy. But wouldn't this be enough? "Try running ./ecmult_static_pre_g before the build, which requires ./configure --enable-devtools." 05:39 < real_or_random> I mean we can add a rule but would it really be better? 05:51 < gmaxwell> why bother with a configure setting? 05:51 < gmaxwell> just add a make target for building the tool, another for building the table that has the tool as a dependency. 06:01 < real_or_random> gmaxwell: yeah that's certainly nicer 06:02 < real_or_random> but are you aware of a nice way of invoking the compiler in a custom rule but with all the automake magic? 06:03 < gmaxwell> IIRC you just add a section in the template makefile with the relevant macros, I haven't slept or I'd go find/make you an example. 06:04 < real_or_random> at the moment, I simply use noinst_PROGRAMS ... This is much more convenient. but this builds the tool unconditionally, that's why I added a configure flag 07:02 -!- roconnor [~roconnor@host-45-78-206-181.dyn.295.ca] has quit [Ping timeout: 252 seconds] 10:43 < real_or_random> what about this? https://github.com/real-or-random/secp256k1/commit/eabe52296a10f1d55b1c03f3ea78562d4ea287ea 10:46 < real_or_random> this adds a target "make gen_ecmult_static_pre_g" and handles updates/depencies automatically if you're not cross-compiling. and it just does nothing when cross compiling 11:24 < real_or_random> ok, updated again -.- this is really the simplest: https://github.com/real-or-random/secp256k1/commits/static_ecmult_ctx_20210625 11:24 < real_or_random> (and it's is the RTFM way to do it: https://www.gnu.org/software/automake/manual/html_node/Errors-with-distclean.html ) 11:26 < real_or_random> this still doesn't add a special target for all tables but we need don't one. The instructions in #error can just be "Try deleting src/ecmult_static_...c before the build" 11:26 < sipa> that seems fine 11:29 < real_or_random> it has to be, I don't want to touch this further :P 11:32 < real_or_random> really fun: the way to find the right page in the manual was to run into an error with make distcheck and search for that error 11:33 < real_or_random> that page exactly explains what you should do if you have files that are built by your own tools and you want to distribute these to keep the package cross-compilable 11:36 < sipa> "EXTRA_PROGRAMS = gen_ecmult_static_pre_g" doesn't need $(EXEEXT) ? 11:40 < real_or_random> sipa: no, that's added automatically for all "_PROGRAMS" variables 11:40 < sipa> ok 12:23 -!- DeanGuss [~dean@user/deanguss] has joined #secp256k1 13:08 -!- lukedashjr [~luke-jr@user/luke-jr] has joined #secp256k1 13:11 -!- luke-jr [~luke-jr@user/luke-jr] has quit [Ping timeout: 256 seconds] 13:11 -!- lukedashjr is now known as luke-jr 17:21 -!- belcher_ [~belcher@user/belcher] has joined #secp256k1 17:25 -!- belcher [~belcher@user/belcher] has quit [Ping timeout: 272 seconds] 20:11 -!- robertspigler [~robertspi@2001:470:69fc:105::2d53] has quit [Write error: Connection reset by peer] 20:12 -!- robertspigler [~robertspi@2001:470:69fc:105::2d53] has joined #secp256k1 20:35 -!- robertspigler [~robertspi@2001:470:69fc:105::2d53] has quit [Quit: node-irc says goodbye] --- Log closed Fri Jul 02 00:00:54 2021