objc-discuss Mailing List for Portable Object Compiler
Smalltalk 80 extensions for C programs
Brought to you by:
stes
You can subscribe to this list here.
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
(1) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <st...@te...> - 2025-05-11 18:07:33
|
Hello, I've created binary packages of objc-3.4.3 on Debian 12.10 and openSUSE 16 alpha. A .deb package and .rpm package is at https://sourceforge.net/projects/objc/ The source package can be retrieved by git clone https://git.code.sf.net/p/objc/code objc-code or by download in a snapshot or file package https://sourceforge.net/projects/objc/files/src/ Regards, David Stes |
From: <st...@te...> - 2025-03-15 19:19:12
|
Hello, I've added a source package of Portable Object Compiler 3.4.2 at https://sourceforge.net/projects/objc/ Regards, David Stes |
From: <st...@te...> - 2025-01-18 11:31:11
|
Hi, I've updated the Portable Object Compiler 3.3.48: https://sourceforge.net/projects/objc/ I tested a build with assertions enabled and -g debug info: ./configure MFLAGS=DBG_MFLAGS This will build with objc -q -c ordcltn.m -DDEBUG -g objc -q -c set.m -DDEBUG -g objc -q -c stack.m -DDEBUG -g and so on. There's many assert() statements in the source code that are enabled by -DDEBUG. The default is to build with MFLAGS=OPT_MFLAGS (optimizer flags). Regards, |
From: <st...@te...> - 2024-09-08 15:56:36
|
Hi, I've updated Portable Object Compiler, the current version is objc-3.3.46 https://sourceforge.net/projects/objc/ Also there are related packages like: https://sourceforge.net/projects/producer/ Brad Cox' Smalltalk translator https://sourceforge.net/projects/cursel/ FMLI (Forms Menu Language Interpreter) implemented with Portable Object Compiler Regards, David Stes |
From: <st...@te...> - 2023-10-07 12:32:12
|
There is a new package objc-3.3.41.tar.gz at https://sourceforge.net/projects/objc/ Version 3.3.41 is identical to version 3.3.40, except for a regenerated configure script with the latest GNU autoconf 2.71 (the latest stable release of autoconf). The build-aux files are also updated to the ones from autoconf 2.71. This means that configure may act a little different and may require more recent tools (such as M4) perhaps, in case of issues 3.3.40 should be the same and should be a workaround ... I tested the new version on a few systems and it seems to work, also the out of source tree build is working fine. Regards, David Stes |
From: <st...@PA...> - 2023-02-11 13:11:49
|
There is a new package objc-3.3.34.tar.gz at https://sourceforge.net/projects/objc/ I've added a spec file for an RPM package of the bootstrap compiler. Also there is a new target in the Makefile for : make test or equivalent make check in order to do a basic test of the newly built compiler before doing a 'make install'. Regards, David Stes |
From: <st...@PA...> - 2023-01-29 14:31:19
|
I've added a package objc-3.3.31.tar.gz at https://sourceforge.net/projects/objc. The configure script has been updated to do a test on ANSI C tentative definitions (which was called the postlink test in the past). The update on the configure script now tests for this new situation for GCC 10+, it first tests for the original ANSI C specification for tentative definitions (which is still supported by gcc10+ if you enable -fcommon but that is not the default), and then it also tests for the gcc10+ case when it defaults to -fno-common, and enables the old (regular) non-postlink case for automatic runtime initialisation even in the case. So for gcc, automatic runtime initialisation is selected in both -fcommon and -fno-common. Most UNIX compilers anyway select automatic runtime initialisation by default. The postlink case also works on UNIX and can be enabled by configure --with-postlink. The postlink case is/was the only option on some C compilers like the Watcom C compiler See the Portable Object Compiler manual for a full discussion on the issue. There is also a new objc-bootstrap-3.3.31.tar.gz package. I've also noticed that on some recent bison implementations, the compiler does not compile using YACC='bison -y -d', however YACC=byacc is recommended and a solution/workaround in those cases. Because bison fixes may happen in the future I'm not looking into supporting bison "per se"; bison has worked and sometimes still works, YACC=yacc on the Solaris OS still works (that is using the original AT&T derived original yacc). Regards, David Stes |
From: <st...@PA...> - 2022-09-21 18:08:44
|
A project implemented with the Portable Object Compiler: https://sourceforge.net/projects/cursel/ There are now some new screenshots (from Google secure shell - Chromium) and version is 1.0.0 some configure updates. Regards, David Stes |
From: <st...@PA...> - 2022-05-12 18:36:11
|
Hi, I've created a folder for OpenBSD which has worked with Portable Object Compiler since at least OpenBSD 2.4. The current OpenBSD 7.1 seems to work fine with objc 3.3.25; https://sourceforge.net/projects/objc/files/openbsd/ this used flex 2.5.39 and the yacc of OpenBSD 7.1 and cc (clang 13) as C compiler. Regards, David Stes |
From: <st...@PA...> - 2022-02-12 17:17:23
|
Hi, I've updated the Slackware package for gcc 11.2 Slackware 15 (Linux). Also the Debian package was updated for Debian 11 (gcc 10). Also Sourceforge has been hosting Portable Object Compiler since the year 2000, and I'm moving my old webpage at telenet.be/pandora.be to Sourceforge. An old 'curses' project implemented with the Portable Object Compiler, is now at https://sourceforge.net/projects/cursel/ This is a clone of AT&T FMLI which I once implemented for a migration from SCO to Linux. Regards, David Stes |
From: <st...@PA...> - 2021-11-26 19:40:57
|
Release 3.3.25 of Portable Object Compiler is now at http://objc.sourceforge.net The configure script 'postlink' test is now updated to support gcc 10 https://gcc.gnu.org/gcc-10/porting_to.html GCC 10 seems to have changed the default common storage model from previous versions of GCC. This is in itself not a big problem as Portable Object Compiler has always, since 1996 or so, supported both automatic and postlink runtime initialisation. It does imply that older version of GCC (pre 10) would usually (not always) use automatic runtime initialisation, and now most GCC 10 versions use the postlink initialisation. The postlink initialisation is the model that is used for example for the Watcom C compiler as well. Regards, David Stes |
From: <st...@PA...> - 2021-08-18 19:13:38
|
Also an updated package for Debian 11 (codenamed "Debian Bullseye") http://users.telenet.be/stes/compiler.html objc_3.3.24_amd64.deb (Debian package for gcc 10.2.1) Regards, David Stes |
From: <st...@PA...> - 2021-08-18 17:24:45
|
Portable Object Compiler builds on Fedora 34 Workstation. See http://users.telenet.be/stes/compiler.html for objc-3.3.24-1.fc34.x86_64.rpm and objclibs-3.3.24-1.fc34.x86_64.rpm This is compiled with gcc 11.0.1 64bit / flex 2.6.4 / byacc 2.0 The objclibs package is not really required (it is a package of .so files) but the objc.rpm contains the .a static libraries which are the only ones really needed. Regards, David Stes |
From: David S. <st...@te...> - 2021-07-28 06:47:10
|
Hi, int i is of type 'int' , not 'id' (not an Objective-C Object). Basically the idea of the Computer Algebra Kit is to provide Objective-C objects for computer algebra and integer arithmetic, so you could do: [aCltn add:[BigInt int:i]]; or something like [aCltn add:[BigInt factorial:i]]; If I run the program, #include <stdio.h> #include <objpak.h> #include <cakit.h> int main(void) { id aCltn = [OrdCltn new]; int i = 0; for(i = 1; i < 100; i++) { [aCltn add:[BigInt int:i]]; } for(i=0;i<[aCltn size];i++) [[aCltn at:i] printLine]; return 0; } $ objc -o bigint bigint.m it works Regards, David Stes On Tue, Jul 27, 2021 at 12:25:20PM +0000, hung.nguyengia via Objc-discuss wrote: > It's objc on Linux. > > This code compiled: > > #include <stdio.h> > #include <objpak.h> > > int main(void) { > id aCltn = [OrdCltn new]; > int i = 0; > for(i = 1; i < 100; i++) { > [aCltn add:i]; > } > for(i=0;i<[aCltn size];i++) [[aCltn at:i] printLine]; > return 0; > } > > But when run will segmentation fault immediately. > > What did I do wrong? > > Sent with ProtonMail Secure Email. > > > _______________________________________________ > Objc-discuss mailing list > Obj...@li... > https://lists.sourceforge.net/lists/listinfo/objc-discuss |
From: hung.nguyengia <hun...@pr...> - 2021-07-27 12:25:45
|
It's objc on Linux. This code compiled: #include <stdio.h> #include <objpak.h> int main(void) { id aCltn = [OrdCltn new]; int i = 0; for(i = 1; i < 100; i++) { [aCltn add:i]; } for(i=0;i<[aCltn size];i++) [[aCltn at:i] printLine]; return 0; } But when run will segmentation fault immediately. What did I do wrong? Sent with ProtonMail Secure Email. |
From: <st...@PA...> - 2021-07-24 15:59:57
|
Thanks for the suggestion. http://www.smorgasbordet.com/pellesc/ looks interesting. There is already a driver and Makefiles for the LCC tools (LCC,LCCLNK,LCCLIB etc.). I'll see to make a version of Portable Object Compiler for PellesC. That being said, the most natural environment for Portable Object Compiler is UNIX. There is also a CYGWIN version; David Stes ----- Op 24 jul 2021 om 8:12 schreef objc-discuss obj...@li...: > On Windows, there are compiler backends for VC++ and Watcom. OpenWatcom now at > v2 but still being an outdated compiler and has a problematic license which > code compiled using it also subjected to and they are unable to change it! I > don't want to suggest removing Watcom backend but I asked for the Pelles C > backend. Pelles C is well active developed, has smaller size than VC++ (I will > not install the whole VC++ suite only to use this compiler, the same for the > Cygwin suite), I think it will able to power your compiler well. The command > line interface of Pelles C is also very similar to VC++. IMHO, if there are > reasons for the Watcom backend to exist, there are reasons for a Pelles C > backend. > > BTW, I also want to ask how to add new compiler backend to your compiler. I have > read the code, but I think it's too complicated and too much integrated into > the code itself so layman like me is not easy to find out. > > Thanks. > > Sent with ProtonMail Secure Email. > > > _______________________________________________ > Objc-discuss mailing list > Obj...@li... > https://lists.sourceforge.net/lists/listinfo/objc-discuss |
From: hung.nguyengia <hun...@pr...> - 2021-07-24 06:12:29
|
On Windows, there are compiler backends for VC++ and Watcom. OpenWatcom now at v2 but still being an outdated compiler and has a problematic license which code compiled using it also subjected to and they are unable to change it! I don't want to suggest removing Watcom backend but I asked for the Pelles C backend. Pelles C is well active developed, has smaller size than VC++ (I will not install the whole VC++ suite only to use this compiler, the same for the Cygwin suite), I think it will able to power your compiler well. The command line interface of Pelles C is also very similar to VC++. IMHO, if there are reasons for the Watcom backend to exist, there are reasons for a Pelles C backend. BTW, I also want to ask how to add new compiler backend to your compiler. I have read the code, but I think it's too complicated and too much integrated into the code itself so layman like me is not easy to find out. Thanks. Sent with ProtonMail Secure Email. |
From: <st...@PA...> - 2021-03-23 18:35:24
|
I've created an objc-3.3.24.tar.gz source code package on Sourceforge. It's possible to compile this version on x86_64-unknown-cygwin or i686-pc-cygwin The compiler can be either (binaries not provided) PE32 executable (console) Intel 80386 (stripped to external PDB), for MS Windows or PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows In the future I'll make a binary package for Cygwin. Regards, David Stes |
From: <st...@PA...> - 2020-10-01 14:50:29
|
AlpineLinux is a Linux distribution; Portable Object Compiler compiles on AlpineLinux 3.9. http://users.telenet.be/stes/compiler.html to download objc-3.3.20-r1.apk Use the command : apk add objc-3.3.20-r1.apk to install. Install at your own risk, no warranty -- so obviously best to install on test systems first. Regards, David Stes |
From: <st...@PA...> - 2020-09-29 15:48:41
|
I've updated the binary package for Microsoft Visual C++. This compiler backend is probably one of the good choices for Windows x64 64bit, Portable Object Compiler supports 64bit since a long time (DEC Alpha Tru64 etc.). Basically this is just a recompile on "Microsoft Windows 10" See http://users.telenet.be/stes/compiler.html and http://users.telenet.be/stes/objc3320v.zip The main focus of the Portable Object Compiler is the C/Unix environment, which is the logical 'ecosystem' for the object pre-compiler software, but some programs can be ported to Microsoft Windows as well ... Regards, David Stes |
From: <st...@PA...> - 2020-09-26 12:31:35
|
Thanks to Dmitry Kirichenko for reporting that version 3.3.20 of Portable Object Compiler compiles OK on OpenWATCOM. OpenWATCOM is the open-source Sybase/Powersoft "Waterloo Compiler" (WATCOM) for C on Microsoft Windows. The binaries for Version 3.3.20 for WATCOM are now available at: http://users.telenet.be/stes/compiler.html This version was compiled on "Microsoft Windows 10 Pro" 64bit but the binaries are 32bit. The object precompiler as described in the SIGPLAN paper from 1983, https://dl.acm.org/doi/abs/10.1145/948093.948095 (paper can be downloaded from ACM) allows Smalltalk-80 messaging on top of C in a compiler and ABI (Application Binary Interface) independent way. Regards, David Stes |
From: <st...@PA...> - 2020-09-20 13:59:55
|
This update is available from GIT: git clone https://git.code.sf.net/p/objc/code objc-code cd objc-code git checkout objc-3.3.20 Or from http://users.telenet.be/stes/compiler.html David Stes |
From: <st...@PA...> - 2020-09-20 13:57:24
|
Minor update to Portable Object Compiler: - add an option -fast the driver script this is a SUN specific option (optimiser) to suppress 'frame pointer' among other optimise options - update SVR10 Solaris 10 package (add solaris 2.10 to the Platforms.txt list) sparc-sun-sunos4.1.2 (gcc) sparc-sun-solaris2.5 (gcc,lcc) sparc-sun-solaris2.6 (gcc) sparc-sun-solaris2.7 (gcc) i386-pc-solaris2.8 (workshop 6 cc 5.2) sparc-sun-solaris2.8 (workshop 6 update 2 cc 5.3) sparc-sun-solaris2.9 (gcc 3.3.2) i386-pc-solaris2.10 (SUN DeveloperStudio 12.6 cc) i386-pc-solaris2.11 (cc: Sun Ceres C 5.10 SunOS_i386 2008/04/04) i386-pc-solaris2.11 (cc: Sun C 5.10 SunOS_i386 2009/06/03) i386-pc-solaris2.11 (Oracle Solaris 11.1 cc: Sun C 5.12 SunOS_i386 2011/11/1) i386-pc-solaris2.11 (Solaris 11.3; cc: Sun C 5.13 SunOS_i386 2014/10/20) x86_64-pc-solaris11.3 (SUN SolarisStudio 12.4 compiler) x86_64-pc-solaris11.4 (gcc 7.3 or SUN DeveloperStudio 12.6 compiler) |
From: <st...@PA...> - 2020-04-18 10:54:39
|
New version released : objc-3.3.18 * dbx (debugger) improvement * fix for (harmless) warning void* to IMP in some cases of Blocks Available via GIT at git clone https://git.code.sf.net/p/objc/code objc-code cd objc-code git checkout objc-3.3.18 |
From: <st...@PA...> - 2019-10-15 14:56:18
|
This is to announce objc 3.3.17. Changes compared to objc 3.3.16 : 3.3.17 * OpenIndiana Hipster change for gcc 9.2: in -m32 case need __float128 No change was needed to compile on OpenIndiana Hipster with GCC 9.2 in 64bit mode. For the 32bit mode, there is a __float128 in the stddef.h header, which is supported now in this version. |