1 -*- text -*- 2 3 Notes for autotrace developers 4 5* Autotools 6 7 Versions I (Masatake) am using: 8 9 autoconf --version 10 autoconf (GNU Autoconf) 2.53 11 12 automake --version 13 automake (GNU automake) 1.5 14 15 libtool --version 16 ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52) 17 18 However config.guess of 1.5 that is part of automake is broken, 19 therefore I'm replacing it with 20 21 ./config.guess --version 22 GNU config.guess (2002-07-23) 23 24 when releasing. 25 26* AM_PATH_PSTOEDIT 27 28AM_PATH_PSTOEDIT is m4 macro defined in pstoedit.m4. 29pstoedit.m4 will be in pstoedit-3.33. However, it is not 30released yet(Wed Sep 25 04:43:36 2002). You can get pstoedit.m4 31from http://autotrace.sourceforge.net/tools/. 32(You need pstoedit.m4 if you want to build autotrace from CVS sources.) 33 34* How to release 35 36 (0) Update NEWS file 37 (1) Check and/or set Version number in configure.in 38 (2) CVS tagging 39 (3) sourceforge(http://sourceforge.net/docman/display_doc.php?docid=781&group_id=1) 40 41* Shared library 42 43 We use libtool to manage our shared library, libautotrace.so. 44 First of all, read "Versioning" section of libtool info manual. 45 Especially "Libtool versioning" and "Updating library version 46 information" subsections are important. 47 48 I quote the most important blocks here: 49==================================== 50 CURRENT 51 The most recent interface number that this library 52 implements. 53 54 REVISION 55 The implementation number of the CURRENT interface. 56 57 AGE 58 The difference between the newest and oldest interfaces 59 that this library implements. In other words, the 60 library implements all the interface numbers in the range 61 from number `CURRENT - AGE' to `CURRENT'. 62 63 If two libraries have identical CURRENT and AGE numbers, 64 then the dynamic linker chooses the library with the greater 65 REVISION number. 66 --- Libtool versioning 67 68 Here are a set of rules to help you update your library version 69 information: 70 71 1. Start with version information of `0:0:0' for each libtool library. 72 73 2. Update the version information only immediately before a public 74 release of your software. More frequent updates are unnecessary, 75 and only guarantee that the current interface number gets larger 76 faster. 77 78 3. If the library source code has changed at all since the last 79 update, then increment REVISION (`C:R:A' becomes `C:r+1:A'). 80 81 4. If any interfaces have been added, removed, or changed since the 82 last update, increment CURRENT, and set REVISION to 0. 83 84 5. If any interfaces have been added since the last public release, 85 then increment AGE. 86 87 6. If any interfaces have been removed since the last public release, 88 then set AGE to 0. 89 ---Updating library version information 90==================================== 91 92* CVS 93 94See http://sourceforge.net/cvs/?group_id=11789 95 96The module name is autotrace. After checking out the codes, invoke 97autogen.sh in the distribution. That generates configure.in, 98Makefile.in and so on. autogen.sh invokes automake, autoconf, aclocal 99and autofig. 100 101 102* Autofig 103 104Autofig generate autotrace-config.in from autotrace-config.af. 105You can get autofig from: 106 107http://autotrace.sourceforge.net/tools/ 108 109You can get the LATEST version of autofig. 110http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=autofig 111 112* Library 113 114See README 115 116* Tag naming scheme 117 118CVS tag for version X.Y: RELEASE_X_Y. 119CVS tag for version X.YpreN: PRERELEASE_X_Y_N. 120Branch for version X.Y: TOWARD_version X.Y. 121 122If you need to put a tag after putting a tag, RELEASE_X_Y, 123for minor modification, POSTRELEASE_X_Y_N. 124 125* Tools for debugging output 126 127 eps: ghostscript, Illustrator, CorelDraw 128 sk: sketch 129 emf: CorelDraw, Illustrator, StarOffice, OpenOffice 130 and Microsoft Office. 131 svg: sodipodi, CorelDraw, Illustrator, Adobe SVGViewer 132 ai: Illustrator, CorelDraw 133 pdf: ghostscript, xpdf, acrobat, Illustrator 134 fig: xfig 135 er: Elastic Reality 136 dxf: AutoCAD, VoloView 137 epd: pstoepd, txt2pdf, epd2svg 138 mif: FrameMaker 139 dr2d: visit http://uk.amigasoc.org/asearch and enter a search string of "DR2D". 140 141* Web page 142 143 From sourceforge.org: 144 145 5. Setup your group's web site. 146 147 I'll assume that you have some sort of web 148 page or site built already that you wish to put up on 149 SourceForge to give your group a public face. 150 Login to SourceForge using SSH, for example ; 151 152 ssh -l loginname yourproject.sourceforge.net 153 154 you will now be in your home directory. All 155 group files are stored in a directory structure for each 156 project. The group directory structure is 157 split out by the first, then first and second, letters of 158 the project name. From here all group files 159 are stored in /home/groups/y/yo/yourproject. 160 Change to this directory. All your web pages 161 are stored in the htdocs directory. Going in here will 162 contain index.php, which is a blank page that 163 says you haven't uploaded a web page yet. 164 Logout, and copy the files for your web page 165 using scp, a program which comes with ssh. For 166 example: 167 168 scp localfile loginname@yourproject.sourceforge.net:/home/groups/y/yo/yourproject/htdocs/ 169 170 I suggest you gzip up your site, send it in 171 one go using scp, then login with ssh and gunzip it. 172 173 So what should be on the web page ? Perhaps 174 you'd like the following, as well as your project's 175 information ; 176 177 1.A link to the projects group page on SourceForge. 178 2.Mailing list links (we'll create them in a second) 179 3.A SourceForge icon and web counter - see the site documentation for this. 180 4.A link to the CVS web interface at 181 182 http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/?cvsroot=yourproject 183 184 5.Some info about using CVS specific to your project. 185 6.Setup mailing lists for your project. 186 187 If your project isn't that active yet (or only 188 has one lonely developer) your mailing lists will be 189 very quiet, however I still suggest you look 190 to the future and setup three standard lists for your 191 project: a devel list for developers, a users 192 list for users, and an announce list for new version 193 announcements. 194 195 Do this via your group page using the mailing 196 list admin link. Its quite simple so you shouldn't 197 have any problems... 198 199