ttcdt / mp-5.x

The Minimum Profit Text Editor
The Unlicense
23 stars 4 forks source link

each driver requires own set of cflags/ldflags files #11

Open rofl0r opened 3 years ago

rofl0r commented 3 years ago

currently, all C/LDFLAGS are stored into config.cflags/.ldflags, however if more than one driver is used, those should be separated, e.g. there should be a config.ncurses.cflags and a config.gtk.cflags, otherwise e.g. gtk libraries get linked to the ncurses binary.

ttcdt commented 3 years ago

that's intentional: you can have mp linked to both drivers at the same time so that it's a kind of fallback from gui drivers to text ones. for example, the mp in my development machine is linked to gtk and ansi; if i open it from an x11 session the gtk version is opened but if i connect to the same machine from an ssh session, the x11 connection fails and the ansi version is executed, same binary, same config, same history.

11/11/20 16:09, rofl0r:

currently, all C/LDFLAGS are stored into config.cflags/.ldflags, however if more than one driver is used, those should be separated, e.g. there should be a config.ncurses.cflags and a config.gtk.cflags, otherwise e.g. gtk libraries get linked to the ncurses binary.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ttcdt/mp-5.x/issues/11, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP4PJ2LIGG7KT6YOGMRH4ITSPKSKPANCNFSM4TSCV2HQ.

rofl0r commented 3 years ago

the mp in my development machine is linked to gtk and ansi; if i open it from an x11 session the gtk version is opened but if i connect to the same machine from an ssh session, the x11 connection fails and the ansi version is executed

oh? quite interesting and unusual, but then, why are 2 different binaries built in the first place ?

ttcdt commented 3 years ago

only one binary is built, named mp-5. which other do you have?

12/11/20 14:28, rofl0r:

the mp in my development machine is linked to gtk and ansi; if i
open it from an x11 session the gtk version is opened but if i
connect to the same machine from an ssh session, the x11 connection
fails and the ansi version is executed

oh? quite interesting and unusual, but then, why are 2 different binaries built in the first place ?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ttcdt/mp-5.x/issues/11#issuecomment-726077324, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP4PJ2KJL6J6NKAJDXTGVJDSPPPITANCNFSM4TSCV2HQ.

rofl0r commented 3 years ago

for me, it builds mp-5 and mp-5-gtk

ttcdt commented 3 years ago

you must not be using the original repository or using patches from someone else or something like that because MP always has been just one executable. there never was a mp5-gtk binary or whatever, only mp-5.

if you use the canonical repository, then do a make distclean && git clean -f && ./config.sh && make, you'll get the one and only binary and it's named mp-5 regardless of what driver(s) are compiled in.

the only exception is when cross compiling to win32, but that's another world.

regards, tiny

rofl0r commented 3 years ago

if you use the canonical repository, then do a make distclean && git clean -f && ./config.sh && make, you'll get the one and only binary and it's named mp-5 regardless of what driver(s) are compiled in.

i do use this repo, but maybe i copied the binary around myself. so if everything goes into one binary, how i can i then explicitly start e.g. the gtk version?

ttcdt commented 3 years ago

If you run mp-5 as is with the GTK or Qt driver compiled in, it tries to connect to the X11 server defined in the DISPLAY variable (as is common to all X applications), and if it cannot, it falls back to text mode. In any case, you can force text mode if you run mp-5 -txt {arguments}. GUI drivers take precedence to text mode drivers.

12/11/20 22:22, rofl0r:

if you use the canonical repository, then do a make distclean && git
clean -f && ./config.sh && make, you'll get the one and only binary
and it's named mp-5 regardless of what driver(s) are compiled in.

i do use this repo, but maybe i copied the binary around myself. so if everything goes into one binary, how i can i then explicitly start e.g. the gtk version?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ttcdt/mp-5.x/issues/11#issuecomment-726349450, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP4PJ2ONGOTN5YBQWUBNXRTSPRGZFANCNFSM4TSCV2HQ.