log
67 entries in 0.494s
asciilifeform: the problem of 'ifdef' is the clusterfuck where i am given to sign a patch that includes '#ifdef vax' but i dun have a vax. and dun intend to.
asciilifeform: rly, we gotta do the ifdef thread again entirely ?
asciilifeform: could argue that this is 'ifdef by hand', i suppose
mircea_popescu: if tomorrow we have a ffa-for-pc and a ffa-for-mips alternative, there WILL BE AN IFDEF.
asciilifeform: asciilifeform was able to cut several MB from ye olde gnu mpi (which today lives in diana_coman's 'eucrypt') simply by beheading the #ifdef dec_vax... and #ifdef xenix... etc
mircea_popescu: to do the "ifdef vax" in a magically acceptable manner ?
asciilifeform: nobody needs 10MB of #ifdef dec_vax ....
phf: one of the major wtfs when reading asdf code, is that when all the ifdef's fall through, hte system falls back to some seriously questionable solutions, like shelling out to unix level with elaborate commands (i don't remember the example, but it's almost like "mkdir {} && cd ..." type stuff)
phf: asciilifeform: well, a portability layer is the ultimate ifdef, and in this case worse written by somebody else
asciilifeform: ada deliberately does not offer equiv of #ifdef, because ifdefism is retarded. so you're left with this method, afaik.
asciilifeform: but would rather avoid an ocean of os-specific items that i'm expected to sign despite never having tested and possibly not even owning the iron with which to test ( again see the #ifdef megathread )
asciilifeform: you can pack as many #ifdef (xyz) into arbitrarily small segment.
asciilifeform: can easily picture higher brain being an optional #ifdef
phf: yeah, if that ifdef wasn't there, the code would've just worked out of the box
a111: Logged on 2018-06-27 21:33 asciilifeform: but dollars to doughnuts if you dun have e.g. pdp11, you won't bother reading its ifdef blocks; and supposing you did read'em, your grasp of what takes place inside won't be worth much if you don't regularly inhabit that platform
a111: Logged on 2018-06-27 18:03 phf: PeterL: the approach that we've been taking with legacy C code is pulling out autotools, and replacing with a single #ifdef/.. configuration header. outside of linux/bsd code is probably not going to work, and the approach is to look at the configuration header file (http://btcbase.org/patches/vdiff_sha_static/tree/vtools/src/system.h#L145 in case of vtools) and patch it for your system
asciilifeform: and this specifically includes, tho not limited to , #ifdef pdp11 ...
mircea_popescu: ifdef amirite.
mircea_popescu: seems the ifdef approach to the problem is more in the vein of the kaballah+commentary (ie, the right thing) than in the vein of the xtian "translated scripture" + "megachurch", ie, idiocy.
mircea_popescu: because this is all i can make of it, #ifdef 3+5=11moron, let 3+5=8.
asciilifeform: when you sign a snipped containing #ifdef pdp ... wtf() #endif , you are , unless explicitly otherwise claimed, signing a thing that you haven't the foggiest notion of running, or even statically digging into
phf: asciilifeform: i'm still unconvinced by this line of argument, and not on technical merits. i think there's a point that i can't articulate, about what it is that you're signing exactly. an if-def-less code suffers from the same problem that you're trying to apply to ifdef specifically. i can't sign that printf is not malicious on the target machine.
asciilifeform: re ifdef, n00bz are invited to study how the c preprocessor worx, and shudder at e.g. the fact that they can contain ~other~ ifdef's, which in turn can change the meaning of ~any~ string in the proggy
asciilifeform: but dollars to doughnuts if you dun have e.g. pdp11, you won't bother reading its ifdef blocks; and supposing you did read'em, your grasp of what takes place inside won't be worth much if you don't regularly inhabit that platform ☟︎
asciilifeform: i've prolly signed a #ifdef DEC_PDP11 piece of shit at some point. dun mean it ain't a sin.
a111: Logged on 2014-10-24 23:22 asciilifeform: because all that was done in patch 1, is remove ifdef crud
a111: Logged on 2015-12-19 22:28 asciilifeform: 'portable' on my planet means PORTABLE and not a gaggle of #ifdef's
a111: Logged on 2016-01-03 03:48 mircea_popescu: <ascii_rear> static, de-#ifdef'd, etc. <<< that's pretty cvool actually.
a111: Logged on 2017-01-03 17:27 asciilifeform: it was literally a week+ of sawing off #includes, nixing #ifdef's, moving blocks of code from 1,001 places and deduplicating, etc.
asciilifeform: ( a proggy that can't get by without'em, really oughta be split into vtrees per idjit os/iron/etc that were formerly ifdef'd coadpaths )
asciilifeform: phf: if the support is implemented with #ifdef's, then it really gotta go imho
phf: PeterL: the approach that we've been taking with legacy C code is pulling out autotools, and replacing with a single #ifdef/.. configuration header. outside of linux/bsd code is probably not going to work, and the approach is to look at the configuration header file (http://btcbase.org/patches/vdiff_sha_static/tree/vtools/src/system.h#L145 in case of vtools) and patch it for your system ☟︎
a111: Logged on 2018-04-06 18:37 ave1: btw, turns out AdaCore have implemented support for crapple IOS (arm 64 + macho) in their gcc, this cannot be found in fsf gcc's. But needs #ifs and #ifdefs, one line was #ifdef MACHO_TARGET, but should have been #if.
ave1: btw, turns out AdaCore have implemented support for crapple IOS (arm 64 + macho) in their gcc, this cannot be found in fsf gcc's. But needs #ifs and #ifdefs, one line was #ifdef MACHO_TARGET, but should have been #if. ☟︎
asciilifeform: trinque : out of curiosity : do you see, e.g., asciilifeform's amputation of all microshit #ifdef... crapola from trb, as mistake ? 'fails to strategically engage the world-as-it-is' ?
asciilifeform: i suspect that if you ditch autoconf, and snip out ALL #ifdef crapola (esp. and inclusive of uniturdism and 'localism' ) you will end up with a sysv-sized util
trinque: rather than #ifdef or *features*-ing the hell out of the code
asciilifeform: now we'd have a turd of #ifdef and asmolade
a111: Logged on 2017-04-13 16:03 asciilifeform: (standard input):#ifdef MSG_PEEK
asciilifeform: (standard input):#ifdef MSG_PEEK ☟︎
trinque: subject there was ifdef throughout the code vs having multiple branches descending from the point multi-arch began
asciilifeform: srsly davout , trinque , you would compare 'verifymessage' to winblowz #ifdef crapolade ?
asciilifeform: #ifdef DEBUG_BAD_HEAP
asciilifeform: it was literally a week+ of sawing off #includes, nixing #ifdef's, moving blocks of code from 1,001 places and deduplicating, etc. ☟︎
asciilifeform: automake works when very carefully used, but the result is a massive turd that is autogenerated, that NO ONE will ever read, and does ???. with 10,001 system-specific #ifdef's.
phf: estream-printf got a whole blob for testing added including #ifdef TEST and emacs bindings for compile-command to do rapid testing from inside the file. how hacky
mircea_popescu: what i'm thinking is : the binary/payload in question, base64'd, deedbotted, and the build script modified to take an optional parameter to "allow deedbot import from known signatures" and then it can have a $ifdef for "buildoot"="deedbot.soandso"
mircea_popescu: MOST of the power of trilema relies on exactly this, that I don't have to IFDEF and DECLARE and whatnot.
asciilifeform: #ifdef's.
phf: asciilifeform: scheme-knobs is the canonical place to tweak the ifdef's in scheme.c?
phf: everything else in there is either cross platform clarification or straight up an #ifdef. it's a tiny ass patch, if it doesn't build on rotor, linux, etc. it's a bug in a patch
mircea_popescu: <ascii_rear> static, de-#ifdef'd, etc. <<< that's pretty cvool actually. ☟︎
ascii_rear: static, de-#ifdef'd, etc.
asciilifeform: 'portable' on my planet means PORTABLE and not a gaggle of #ifdef's ☟︎
asciilifeform: #ifdef M_GUARD
asciilifeform: and it is responsible for most of the #ifdef noise, also
BingoBoingo: So much #ifdef, seeding with time and process id
trinque: if it's small stuff should be able to ifdef it
ascii_field: much as i despise #ifdef
ascii_field: suggestion - we #ifdef it.
asciilifeform: incidentally, the ifdef-iness of bitcoind speaks for the horrendous mega-ugly of cpp
BingoBoingo: asciilifeform: Build did not require the OSsuX ifdefs, but had to kill one linux ifdef and switch a boost lib called for another.
mod6: i thought the IFDEF should do that
mircea_popescu: nubbins` you're not serious if you don't put #ifdef book : turn page on the cover.
asciilifeform: mircea_popescu: in the sense that zapping dead ifdef's is not especially arduous.
asciilifeform: decimation: the patch removed crap that was ifdef'd out anyway
asciilifeform: because all that was done in patch 1, is remove ifdef crud ☟︎