[cc336a] | 1 | Main goal is to standarize the build process according to the GNU standards below: |
---|
| 2 | |
---|
| 3 | 1. compilation should work only using |
---|
| 4 | |
---|
| 5 | ./configure |
---|
| 6 | make |
---|
| 7 | |
---|
| 8 | 2. Installation should work only using |
---|
| 9 | |
---|
| 10 | make install |
---|
| 11 | |
---|
| 12 | which will invoke make install recursively in each subdirectory and install to the directories dictated by the GNU standards |
---|
| 13 | |
---|
| 14 | So "make install" must be equivalent to "make install" in each subdirectory (*) |
---|
| 15 | |
---|
| 16 | 3. The standard for include files is |
---|
| 17 | |
---|
| 18 | #include <component/header.h> |
---|
| 19 | |
---|
| 20 | The location of the header file will be $includedir/Singular/module/header.h |
---|
| 21 | |
---|
| 22 | By default $includedir = /usr/local/include |
---|
| 23 | |
---|
| 24 | 4. Static libraries used by other developers (e.g. Macaulay2 people using factory) |
---|
| 25 | will be part of the devel packages and installed according the GNU standard by default in |
---|
| 26 | |
---|
| 27 | /usr/lib/Singular/ |
---|
| 28 | |
---|
| 29 | e.g. |
---|
| 30 | |
---|
| 31 | /usr/lib/Singular/libfactory.a |
---|
| 32 | |
---|
| 33 | I words: |
---|
| 34 | a. It not allowed to require a "make install" in ANY subdirectory before compiling another subdirectory |
---|
| 35 | b. If you suggest to rename make to do make install then you will conflict with (*) and we will kill you sooner or later |
---|
| 36 | c. the (non-super) user should be able to run make successfully even if ./configure --prefix=/usr was used |
---|
| 37 | d. if the user already has run make successfully then make install must not touch or modify anything in the build-tree |
---|
| 38 | |
---|
| 39 | |
---|
| 40 | Here is part pf the dump of rpm -qil gtk2-devel: |
---|
| 41 | |
---|
| 42 | /usr/include/gtk-2.0/gtk/gtkwidget.h |
---|
| 43 | /usr/include/gtk-2.0/gtk/gtkwindow.h |
---|
| 44 | /usr/include/gtk-unix-print-2.0 |
---|
| 45 | /usr/include/gtk-unix-print-2.0/gtk |
---|
| 46 | /usr/include/gtk-unix-print-2.0/gtk/gtkpagesetupunixdialog.h |
---|
| 47 | /usr/include/gtk-unix-print-2.0/gtk/gtkprinter.h |
---|
| 48 | /usr/include/gtk-unix-print-2.0/gtk/gtkprintjob.h |
---|
| 49 | /usr/include/gtk-unix-print-2.0/gtk/gtkprintunixdialog.h |
---|
| 50 | /usr/include/gtk-unix-print-2.0/gtk/gtkunixprint.h |
---|
| 51 | /usr/lib64/gtk-2.0/include |
---|
| 52 | /usr/lib64/gtk-2.0/include/gdkconfig.h |
---|
| 53 | /usr/lib64/libgailutil.la |
---|
| 54 | /usr/lib64/libgailutil.so |
---|
| 55 | /usr/lib64/libgdk-x11-2.0.la |
---|
| 56 | /usr/lib64/libgdk-x11-2.0.so |
---|
| 57 | /usr/lib64/libgdk_pixbuf-2.0.la |
---|
| 58 | /usr/lib64/libgdk_pixbuf-2.0.so |
---|
| 59 | /usr/lib64/libgdk_pixbuf_xlib-2.0.la |
---|
| 60 | /usr/lib64/libgdk_pixbuf_xlib-2.0.so |
---|
| 61 | /usr/lib64/libgtk-x11-2.0.la |
---|
| 62 | /usr/lib64/libgtk-x11-2.0.so |
---|
| 63 | /usr/lib64/pkgconfig/gail.pc |
---|
| 64 | /usr/lib64/pkgconfig/gdk-2.0.pc |
---|
| 65 | /usr/lib64/pkgconfig/gdk-pixbuf-2.0.pc |
---|
| 66 | /usr/lib64/pkgconfig/gdk-pixbuf-xlib-2.0.pc |
---|
| 67 | /usr/lib64/pkgconfig/gdk-x11-2.0.pc |
---|
| 68 | /usr/lib64/pkgconfig/gtk+-2.0.pc |
---|
| 69 | /usr/lib64/pkgconfig/gtk+-unix-print-2.0.pc |
---|
| 70 | /usr/lib64/pkgconfig/gtk+-x11-2.0.pc |
---|
| 71 | /usr/share/aclocal/gtk-2.0.m4 |
---|
| 72 | /usr/share/gtk-2.0 |
---|
| 73 | /usr/share/gtk-2.0/demo |
---|