pUPnGO - 6Mb ISO - Basic Building Block Puplet
Could you provide source for the latest changes? I've seen similar issues with urxvt.goingnuts wrote:Dragging up the original pupngo thread to continue blabla on more basic things...
Back in tinyXlib testing - got stuck with xdesktopwaves. It compiles ok but refuse to run as it cant translate color #406080 and other colors in same syntax. Adding "64 96 128 #406080" to rgb.txt helps a lot but seems to be an unusual hack.
So updated GetColor.c, Xcmsint.h, LookupCol.c, ParseCol.c. Added cmsCmap.c, Cmap.h, Cv.h, CCC.c, cmsColNm.c, XRGB.c, cmsInt.c, cmsGlobls.c, CvColW.c, LRGB.c, CvCols.c, cmsProp.c, HVCGcC.c, XYZ.c, uvY.c, xyY.c, Lab.c, Luv.c, HVC.c, cmsTrig.c, cmsMath.c, AddDIC.c, HVCMxC.c, HVCMxVC.c to X11lib which solves the problem.
BUT adds 20-30K to every binary linked against the new libX11. And most applications does not use the added functions at all. I do compile with "-Wl,--gc-sections,--sort-common,-s" but seems that the new functions are "glued" in...
SO: Are there any way to map the internal dependency of the functions in a library from source-code? If so this could be used to evaluate the consequences of adding functionality or to put in conditions when to use and when not to use...
The obvious solution to xdesktopwaves is to patch the source to use names from rgb.txt and bypass all above additions - but there might be applications that really benefit from the added functions...
To your question, cxref is the tool I'm aware of.
It looks like you may want to use
-xref -func -html
See http://www.gedanken.org.uk/software/cxref/
@Ibidem: Thanks for the cxref-link
Present tinyXlib-source is here - solved the color problem with settings at compile time - view changelog for details - but as it adds to size I recompile xlib for the (few) apps that needs this addition - and most of the time live well without it.
Present tinyXlib-source is here - solved the color problem with settings at compile time - view changelog for details - but as it adds to size I recompile xlib for the (few) apps that needs this addition - and most of the time live well without it.
Thanks. It's working nicely...urxvt is working, etc.goingnuts wrote:@Ibidem: Thanks for the cxref-link
Present tinyXlib-source is here - solved the color problem with settings at compile time - view changelog for details - but as it adds to size I recompile xlib for the (few) apps that needs this addition - and most of the time live well without it.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
I wanted to mention that I found cxref because I'd noticed a c??? command in POSIX that did something vaguely like what you wanted, so I looked in the POSIX manpages and found cxref, and then looked it up.
But when I'd just about finished typing it up, I hit the <- key by accident. With links, that means it's gone...
Good! Any links for the sources of urxvt & mwm? I would like to test as well.Ibidem wrote:...
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
...
Found cflow-2.0 which will give:
Code: Select all
# ./cflow 9menu.c
/root/bin/prcg: cannot redefine:
/root/bin/prcg: cannot redefine:
1 main {9menu.c 236}
2 strrchr {}
3 args {9menu.c 167}
4 strcmp {}
5 getenv {}
6 getcwd {}
7 strlen {}
8 malloc {}
9 sprintf {}
10 putenv {}
11 printf {}
12 exit {}
13 usage {9menu.c 476}
14 fprintf {}
15 exit {}
16 usage ... {13}
17 fopen {}
18 fprintf {}
19 exit {}
20 fgets {}
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
there is also cscope
http://cscope.sourceforge.net/
and its tk frontend cbrowser
http://sourceforge.net/projects/cbrowse ... owser/0.8/
(many versions of emacs support cscope too)
... and the defacto
http://www.graphviz.org/
or a qt3 alternative:
http://sourceforge.net/projects/bouml-n ... /0/4.22.2/
which is now ported to qt4 and renamed douml
and lxr (written in perl)
or opengrok (in java)
there is also silentbob which requires ruby to build ... wtf, screw that! Do this.
g++ -Os -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -I$PWD/gclib/include -I$PWD/include gclib/src/*.c* sblib/src/*.c* silentbob/src/*.c* -o sbob -Wl,-O4,--gc-sections,-s
This geany gdb wrapper plugin could be helpful too:
http://git.geany.org/geany-plugins/tree/scope
http://cscope.sourceforge.net/
and its tk frontend cbrowser
http://sourceforge.net/projects/cbrowse ... owser/0.8/
(many versions of emacs support cscope too)
... and the defacto
http://www.graphviz.org/
or a qt3 alternative:
http://sourceforge.net/projects/bouml-n ... /0/4.22.2/
which is now ported to qt4 and renamed douml
and lxr (written in perl)
or opengrok (in java)
there is also silentbob which requires ruby to build ... wtf, screw that! Do this.
g++ -Os -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -I$PWD/gclib/include -I$PWD/include gclib/src/*.c* sblib/src/*.c* silentbob/src/*.c* -o sbob -Wl,-O4,--gc-sections,-s
This geany gdb wrapper plugin could be helpful too:
http://git.geany.org/geany-plugins/tree/scope
Last edited by technosaurus on Sat 02 Nov 2013, 15:18, edited 1 time in total.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
Mwm is the "Motif Window Manager": it's part of the Motif source code that was recently relicensed as LGPL. I grabbed the source from git://git.code.sf.net/p/motif/codegoingnuts wrote:Good! Any links for the sources of urxvt & mwm? I would like to test as well.Ibidem wrote:...
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
...
I passed --disable-shared when building Motif; I had to run autogen.sh on a Debian box, since autoconf requires so much crap.
For urxvt see:http://dist.schmorp.de/rxvt-unicode/
Thanks - the "all-pink" has gone. Do you have application and icon name set? urxvt is calling XmbTextListToTextProperty to set the name, XmbTextListToTextProperty is in tinyX11lib but name is not set. That means in older jwm if application is minimized, jwm crash if pointer is over taskbar/un-named...
Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...
Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:
Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...
Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:
Code: Select all
--- ./src/main.C.01 2013-02-17 00:51:51.000000000 +0000
+++ ./src/main.C 2013-11-02 20:30:32.000000000 +0000
@@ -917,6 +917,8 @@
void
rxvt_term::set_title (const char *str)
{
+ XStoreName(dpy, parent, str); // Set windowname for tinyXlib
+
set_mbstring_property (XA_WM_NAME, str);
#if ENABLE_EWMH
set_utf8_property (xa[XA_NET_WM_NAME], str);
@@ -926,6 +928,7 @@
void
rxvt_term::set_icon_name (const char *str)
{
+ XSetIconName(dpy, parent, str); // Set windowname for tinyXlib
set_mbstring_property (XA_WM_ICON_NAME, str);
#if ENABLE_EWMH
set_utf8_property (xa[XA_NET_WM_ICON_NAME], str);
I had guessed that the all-pink was thanks to the color stuff, due to the errror messages I got.goingnuts wrote:Thanks - the "all-pink" has gone. Do you have application and icon name set? urxvt is calling XmbTextListToTextProperty to set the name, XmbTextListToTextProperty is in tinyX11lib but name is not set. That means in older jwm if application is minimized, jwm crash if pointer is over taskbar/un-named...
Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...
Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:Code: Select all
--- ./src/main.C.01 2013-02-17 00:51:51.000000000 +0000 +++ ./src/main.C 2013-11-02 20:30:32.000000000 +0000 @@ -917,6 +917,8 @@ void rxvt_term::set_title (const char *str) { + XStoreName(dpy, parent, str); // Set windowname for tinyXlib + set_mbstring_property (XA_WM_NAME, str); #if ENABLE_EWMH set_utf8_property (xa[XA_NET_WM_NAME], str); @@ -926,6 +928,7 @@ void rxvt_term::set_icon_name (const char *str) { + XSetIconName(dpy, parent, str); // Set windowname for tinyXlib set_mbstring_property (XA_WM_ICON_NAME, str); #if ENABLE_EWMH set_utf8_property (xa[XA_NET_WM_ICON_NAME], str);
Didn't check name/resources.
I disabled everything (--disable-everything or some similar option). So no transparency here.
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth
Hi All!
Anyone knows a difference between -fPIC and -fpic options of GCC for making
a position independent code?
I have already read documentation but unfortunately cannot get an answer
of one question:
Is it safe to use -fpic instead of -fPIC when build a shared library for x86_32 Linux based system?
Discovered that -fpic produces smaller binary and takes less memory than -fPIC.
Several libraries built with -fpic work on my custom system without problems, all needed
symbols are exported and all tested applications work with these libraries
but ... "It works" not means "It must work".
Thanks in advance !
a position independent code?
I have already read documentation but unfortunately cannot get an answer
of one question:
Is it safe to use -fpic instead of -fPIC when build a shared library for x86_32 Linux based system?
Discovered that -fpic produces smaller binary and takes less memory than -fPIC.
Several libraries built with -fpic work on my custom system without problems, all needed
symbols are exported and all tested applications work with these libraries
but ... "It works" not means "It must work".
Thanks in advance !
SUUM CUIQUE.
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
IIRC pic has a limited number of symbols that almost never is reached in unbloated software. If you build seamonkey/firefox with a single libxul instead of many small libs, you will hit the limit. Combining the libraries _can_ reduce size and startup time, so it will depend on your project size which is the better option.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth
Thanks for answer !technosaurus wrote:IIRC pic has a limited number of symbols that almost never is reached in unbloated software. If you build seamonkey/firefox with a single libxul instead of many small libs, you will hit the limit. Combining the libraries _can_ reduce size and startup time, so it will depend on your project size which is the better option.
I combined gtk1 with its dependencies to one library (glib+gmodule+gthread+gdk+gtk) then built some small apps based on it (Xdialog, gamix etc..). These apps work without problems either when library was built with -fpic or -fPIC.
About limitations:
GCC manual says that x86 based systems hasn't any size limitations of global offset
table.
SUUM CUIQUE.
PANZERKOPF: Was it dynamic linked apps?
I started converting some static linked apps to dynamic linked to evaluate the reduction in total file size (tinyX11+uclibc). Seems to be a delicate balance depending on type and number of apps.
Experimented with Xvesa/Xfbdev from XFree86-4.8.0 compared to the tinyXservers. The first observation is that there are no reason to not link them static - the increase in size is minor. Second the stability and features of XFree86-4.8.0 versions are better than the tinyXserver versions (ex. Abiword works, keyboard in qemu/rxvt works). And size seems to be "ok".
Also working on a gxwin-based front end for pkginstall/pkgremove - sort of Synaptic wanna-be. Making package manager for static linked packages-only...really makes things so much easier...
I started converting some static linked apps to dynamic linked to evaluate the reduction in total file size (tinyX11+uclibc). Seems to be a delicate balance depending on type and number of apps.
Experimented with Xvesa/Xfbdev from XFree86-4.8.0 compared to the tinyXservers. The first observation is that there are no reason to not link them static - the increase in size is minor. Second the stability and features of XFree86-4.8.0 versions are better than the tinyXserver versions (ex. Abiword works, keyboard in qemu/rxvt works). And size seems to be "ok".
Also working on a gxwin-based front end for pkginstall/pkgremove - sort of Synaptic wanna-be. Making package manager for static linked packages-only...really makes things so much easier...
- Attachments
-
- snap0001.png
- (13.63 KiB) Downloaded 385 times
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
They are the same on x86, but not always. In fact on x86 (32bit), IIRC, it is not necessary to compile with -fpic or -fPIC at all for shared libs... correct me if I am wrong.PANZERKOPF wrote:Seems I was wrong there. No size differences between -fPIC and -fpic.goingnuts wrote:Was it dynamic linked apps?
Maybe this affects to some particular code only?
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth
Anyone know of a torrent client - not gtk2, qt, perl, python - but with a GUI?
Found none...but transmission-1.50 comes with a web-interface and transmission seems to work out of the box (that is connects and downloads/seeds).
Start transmission with
and access the web interface at address:
http://localhost:9091
Unfortunately you need more than links-2.7 or dillo as support for javascript is a must
Found none...but transmission-1.50 comes with a web-interface and transmission seems to work out of the box (that is connects and downloads/seeds).
Start transmission with
Code: Select all
transmission-daemon
http://localhost:9091
Unfortunately you need more than links-2.7 or dillo as support for javascript is a must
- Attachments
-
- snap0000.png
- (62.99 KiB) Downloaded 299 times
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
http://suckless.org/rocks lists btpd, but there is also rtorrent (curses) and dtorrent (enhance ctorrent)
Though hopefully netsurf-fb with javascript support is useable now.
if you use curses/termcap, jupp is a nice little highlighting text editor from mirBSD based on JOE that can build against curses or termcap
btw you can use this commit of termbox for a light ncurses
see also:
http://wiki.musl-libc.org/wiki/Alternative_libraries
Though hopefully netsurf-fb with javascript support is useable now.
if you use curses/termcap, jupp is a nice little highlighting text editor from mirBSD based on JOE that can build against curses or termcap
btw you can use this commit of termbox for a light ncurses
Code: Select all
https://github.com/nsf/termbox/commit/a2e217f0fb97e6bbd589136ea3945f9d5a123d81
http://wiki.musl-libc.org/wiki/Alternative_libraries
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
-
- Posts: 282
- Joined: Wed 16 Dec 2009, 21:38
- Location: Earth