Sender: edevaldo AT pobox DOT mot DOT com Message-ID: <376F8F7A.5D6FD48D@email.sps.mot.com> Date: Tue, 22 Jun 1999 10:28:26 -0300 From: "Edevaldo Pereira (q14792)" Organization: Motorola - Semiconductor Producrs Sector X-Mailer: Mozilla 4.07 [en] (X11; I; SunOS 5.5.1 sun4u) MIME-Version: 1.0 To: Eli Zaretskii , djgpp AT delorie DOT com Subject: Re: TCL Port References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Motorola-Sent-Wireless: 1 Reply-To: djgpp AT delorie DOT com Hi Eli, last night i tried to compile TCL. After making the link sh->bash I created a directory structure like the unix one (/bin /usr/bin /usr/local/bin etc...) just to avoid some problems I had before. The /bin was necessary because it was looking for sh inside it. Then I called the ./configure script it worked so well that i couldn't believe. Detected the compiler, shared libraries, even some library functions that were not present. It tests a lot of things. Then I commented all the network code and compiled. Despite of the warnings I only had problems in 2 places: - When handling math exceptions the TCL code defines a structure with the same name of a structure defined in DJGPP library (exception I think). The structures were compatible in some way so I commented it just to go on with the compilation. - There is a file copy command in TCL. Inside this command it tests to see if the file is a link. Inside this function it called a macro that were not defined. It may be a problem with the configuration script. Again I commented this part of the code and tried make. Then it compiled with some warnings, most of them were about passing a long to sprintf or something similar. It was really amazing (for me at least) that the tclsh worked fine. None of the commands that I tried failed including a division by zero. Then I typed "make install" and it installed the binaries, include files, man pages, etc in the usual unix places. After correcting some of the problems I'll try more extensive tests. I have got the impression that with the libsocket in place it would compile even the network code without problems (but you never knows for sure until testing). If it happens the code would compile with almost no changes. That is amazing. I'll do it again with your scripts. They would help with some problems regarding looking for things in wrong places and even corrent some of the problems I had. Thanks again Eli, Edevaldo Eli Zaretskii wrote: > > On Mon, 21 Jun 1999, Edevaldo Pereira (q14792) wrote: > > > I'm not sure about this but the ./configure script tries to detect the > > platform in which it is running. It also tries to detect the C compiler > > used and depending on the system there are some includes and sources > > that may change. There are some .c files for each machine (aix, hp, sun > > and others). > > This is normal for every configure script, and it works with DJGPP > (after some minor tweaks I mentioned, which the files attached below > will do for you). > > > I hope that the default behavior is DJGPP friendly but I > > think that it supports shared libraries by default. To disable it I'll > > probably need to configure it again. > > You will definitely need to run the configure script, and it should > detect that shared libraries aren't supported and use static linking > instead. Several GNU packages do that, so I assume Tcl should as > well. > > > PS2.: I appended to this email the readme file that comes in the unix > > directory. > > This indicates that Tcl uses the usual GNU-style stuff. So the files > below should solve the small problems for you. I usually place them > in a djgpp subdirectory, and some of the file names in the scripts > below depend on that. > > With all the files below in place in the djgpp subdirectory of the > main Tcl source directory, type "djgpp\config [Enter]", and it should > configure the package. If all goes well, you will have to say "make" > after that and watch it build itself. If you have some problems, post > them here. >