Great job! Thank you, Jafar!
But when I tried to build the new unicon (after I updated from SVN) on Windows 10 it failed.
See my output attached.
 
Sincerely,
Sergey
 
16.06.2017, 09:39, "Jafar Al-Gharaibeh" <to.ja...@gmail.com>:
Status Update:
 
  While not done yet but the progress that has been made so far is enough to allow people to give the new changes a try. Basically, what we are trying to do is move a way from any "manual" configuration where end users don't have to edit files to define this or enable that to control whether a particular feature is enabled or not.  We are also leaving no chance of guessing on the end user part to get the correct configuration for an underlying platform. The configuration script should be able to figure it out on its own in the vast majority of cases. We will update the documentation on the website in the next few days on how to build or configure Unicon moving forward. The instructions are easy, checkout the sources and just do:
 
./configure && make
 
And  that is all you need (crossing fingers).
 
You only need to call ./configure the first time you build and after a "make Pure" which resets everything. Make sure to call make Pure if you need  fresh start or if their are major updates including to the build system itself. 
 
./configure --help tells you everything you need to know, most features can be turn off by --disable-FEATURE
 
for example ./configure --disable-concurrency will allow you to build without concurrent threads. By default all features are turned on as long as the dependencies are met. You can also disable a particular linked library. For Example, assume you want graphics but don't want JPG support for some reason (you want a smaller iconx maybe)  then you can do:
 
./configure --without-jpg
 
in summary, --disable is a feature level control while --without is a library level control. Of course some of these libraries might be dependencies for a feature, for example, on Linux, doing --without-xlib will end up having the same effect as  --disable-graphics. It is recommended to control things at the features level unless you want a finer granularity control for some reason. Don't forget:
 
./configure --help
 
The changes have been tested on a few systems so let us know how it goes on your particular platform. This work has not been made compatible with Windows yet, but it is  on the road map.
   
Happy configuration, and most importantly, Happy Unicon coding!
 
Cheers,
The Unicon Team 
 
 
 
On Tue, Jun 13, 2017 at 10:09 PM, Jafar Al-Gharaibeh <to.ja...@gmail.com> wrote:
Greetings Fellow Uniconers,
 
   I committed changes to svn today and I will make more changes over the next few days that affect the configuration and the build system of Unicon. I would like to bring up two points to your attention:
 
   1- If you are on a production system my advice is to refrain form updating until the dust settles just in case something goes wrong. I expect this to not take more than a few days. I didn't see any issues yet. Please let me know if you have any troubles and I will fix as soon as possible. 
 
2- If you decide to update, make sure to start "clean" by doing:
 
  make Pure 
 
at the top level before updating. Files/configurations are being shuffled around and new ones are introduced, having local changes will most likely create trouble! you have been warned! :-) 
 
Sit tight and enjoy the ride!
 
Cheers,
Jafar 
,

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

,

_______________________________________________
Unicon-group mailing list
Unicon-group@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unicon-group

c:\work\unicon>sh configure
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
##########################################
Configuring Unicon Host: i686_
##########################################
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether gcc supports -std=gnu11... yes
checking whether gcc -std=gnu11 supports -g... yes
checking whether gcc -std=gnu11 supports -O2... yes
checking whether gcc -std=gnu11 supports -fno-omit-frame-pointer... yes
checking whether gcc -std=gnu11 supports -fno-strict-aliasing... yes
checking if xlib is wanted... yes
checking for XAllocColorCells in -lX11... no
checking X11/Xlib.h usability... no
checking X11/Xlib.h presence... no
checking for X11/Xlib.h... no
checking X11/Xos.h usability... no
checking X11/Xos.h presence... no
checking for X11/Xos.h... no
checking for X11/Xutil.h... no
checking X11/Xatom.h usability... no
checking X11/Xatom.h presence... no
checking for X11/Xatom.h... no
checking xlib in /usr/local... failed
Graphics library missing: building without graphics...
make: Entering directory `/c/work/unicon/config/unix/Config'
Makefile:38: warning: overriding commands for target `Clean'
Makefile:15: warning: ignoring old commands for target `Clean'
if [ -f ../i686_/top.hdr ]; \
            then echo "found top.hdr" && cat ../i686_/top.hdr ../Config/top.mak 
> ../../../Makefile; fi
cat ../Config/rtt.mak > ../../../src/rtt/Makefile
cat ../Config/common.mak > ../../../src/common/Makefile
cat ../Config/iconc.mak > ../../../src/iconc/Makefile
cat ../Config/preproc.mak > ../../../src/preproc/Makefile
cat ../Config/icont.mak > ../../../src/icont/Makefile
cat ../Config/runtime.mak > ../../../src/runtime/Makefile
cat ../Config/xpm.mak > ../../../src/xpm/lib/Makefile
mkdir -p ../../../ipl/lib
cp unicon.mak ../../../uni/unicon/makefile
cp ipllib.mak ../../../ipl/lib/makefile
# no longer copy ide.mak; ide/makefile is multiplatform
# cp ide.mak ../../../uni/ide/makefile
cp ivib.mak ../../../uni/ivib/makefile
cp unilib.mak ../../../uni/lib/makefile
cp xml.mak ../../../uni/xml/makefile
cp unidep.mak ../../../uni/unidep/makefile
cp unidoc.mak ../../../uni/unidoc/makefile
cp parser.mak ../../../uni/parser/makefile
cp util.mak ../../../uni/util/makefile
cp gui.mak ../../../uni/gui/makefile
cp native.mak ../../../uni/native/makefile
cp guidemos.mak ../../../uni/gui/guidemos/makefile
cp ivib-v2.mak ../../../uni/gui/ivib/makefile
cp uni-top.mak ../../../uni/Makefile
cp iyacc.mak ../../../uni/iyacc/Makefile
cp uni-makedefs ../../../uni/makedefs
cp ../i686_/rswitch.[cs] ../../../src/common
cp: cannot stat `../i686_/rswitch.[cs]': No such file or directory
make: *** [Makefiles] Error 1
make: Leaving directory `/c/work/unicon/config/unix/Config'
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... no
checking for ANSI C header files... (cached) yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking netdb.h usability... no
checking netdb.h presence... no
checking for netdb.h... no
checking for unistd.h... (cached) yes
checking for strings.h... (cached) yes
checking arpa/inet.h usability... no
checking arpa/inet.h presence... no
checking for arpa/inet.h... no
checking net/errno.h usability... no
checking net/errno.h presence... no
checking for net/errno.h... no
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for memory.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/resource.h usability... no
checking sys/resource.h presence... no
checking for sys/resource.h... no
checking netinet/in.h usability... no
checking netinet/in.h presence... no
checking for netinet/in.h... no
checking sys/errno.h usability... no
checking sys/errno.h presence... no
checking for sys/errno.h... no
checking sys/socket.h usability... no
checking sys/socket.h presence... no
checking for sys/socket.h... no
checking for sys/types.h... (cached) yes
checking size of int... 4
checking size of long... 4
checking size of long int... 4
checking size of int *... 4
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking for working alloca.h... no
checking for alloca... yes
checking for off_t... yes
checking for struct stat.st_blksize... no
checking for ssize_t... yes
checking for socket... no
checking for bcopy... no
checking for bzero... no
checking for memcpy... yes
checking for memset... yes
checking for inet_aton... no
checking for inet_pton... no
checking for snprintf... yes
checking for vsprintf... yes
checking for rename... yes
checking for ftruncate... yes
checking for flock... no
checking for fsync... no
checking for getrlimit... no
checking for setrlimit... no
checking for strerror... yes
checking for strerror_r... no
checking for vfork... no
checking for getopt... yes
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... no
checking for vfork... (cached) no
checking for main in -ldbm... no
checking for main in -lndbm... no
checking for library containing getaddrinfo... no
checking for library containing clock_gettime... none required
checking for library containing crypt... no
checking for getrusage... no
checking for sysconf... no
checking for profil... no
checking if oggvorbis is wanted... yes
checking for oggpack_write in -logg... no
checking for vorbis_bitrate_init in -lvorbis... no
checking for ov_open in -lvorbisfile... no
checking ogg.h usability... no
checking ogg.h presence... no
checking for ogg.h... no
checking vorbisfile.h usability... no
checking vorbisfile.h presence... no
checking for vorbisfile.h... no
checking codec.h usability... no
checking codec.h presence... no
checking for codec.h... no
checking oggvorbis in /usr... failed
checking if libsdl is wanted... yes
checking for SDL_AudioInit in -lSDL... no
checking SDL_audio.h usability... no
checking SDL_audio.h presence... no
checking for SDL_audio.h... no
checking libsdl in /usr... failed
checking if libsmpeg is wanted... yes
checking for SMPEG_playAudio in -lsmpeg... no
checking smpeg.h usability... no
checking smpeg.h presence... no
checking for smpeg.h... no
checking libsmpeg in /usr... failed
checking if libopenal is wanted... yes
checking for alGetSourceiv in -lopenal... no
checking al.h usability... no
checking al.h presence... no
checking for al.h... no
checking for alutGetMajorVersion in -lalut... no
checking alut.h usability... no
checking alut.h presence... no
checking for alut.h... no
checking libopenal in /usr... failed
checking if jvoiplib is wanted... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking for _ZN9RTPPacket5ClearEv in -ljrtp... no
checking for _ZN6JMutex4InitEv in -ljthread... no
checking for _Z19JVOIPGetErrorStringi in -ljvoip... no
checking for _Z11dummy_printc in -lvoip... no
checking jvoiplib in bin... failed
checking if zlib is wanted... yes
checking for inflateEnd in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for inflateEnd in -lz... (cached) yes
checking zlib in /usr... ok
checking if odbc is wanted... yes
checking for SQLAllocConnect in -liodbc... no
checking for SQLAllocConnect in -lodbc... no
checking sqlext.h usability... no
checking sqlext.h presence... yes
configure: WARNING: sqlext.h: present but cannot be compiled
configure: WARNING: sqlext.h:     check for missing prerequisite headers?
configure: WARNING: sqlext.h: see the Autoconf documentation
configure: WARNING: sqlext.h:     section "Present But Cannot Be Compiled"
configure: WARNING: sqlext.h: proceeding with the compiler's result
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to jeff...@cs.uidaho.edu ##
configure: WARNING:     ## ------------------------------------ ##
checking for sqlext.h... no
checking odbc in /usr... failed
checking if POSIX threads are wanted... yes
checking for pthread_create in -lpthread... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create in -lpthread... (cached) yes
checking pthread in /usr... ok
checking if OPENSSL is wanted... yes
checking for SSL_library_init in -lssl... no
checking for BIO_read in -lcrypto... no
checking openssl/bio.h usability... no
checking openssl/bio.h presence... no
checking for openssl/bio.h... no
checking ssl in /usr... failed
checking for global variable sys_nerr... no
checking for global variable sys_errlist... no
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... no
checking whether tzname is declared... yes
checking for tzname... yes
checking for timezone external... yes
checking for altzone external... no
checking for daylight external... yes
checking for struct tm.tm_zone... (cached) no
checking whether tzname is declared... (cached) yes
checking for tzname... (cached) yes
configure: creating ./config.status
config.status: creating Makedefs
config.status: creating src/h/auto.h

--------------------------------------------------
           Configuration Summary
--------------------------------------------------

* Features
|___.* Compression
|   |--> ZLIB      : yes
|
|___.* Graphics
|   |--> XLIB      : no
|   |--> JPEG      : no
|   |--> PNG       : no
|   |--> XFT       : no
|   |--> Freetype  : no
|
|___.* 3D Graphics
|   |--> OpenGL    : no
|   |--> GLU       : no
|   |--> FTG       : no
|
|___.* Concurrency
|   |--> Threads   : yes
|
|___. * Audio
|   |--> OpenAL    : no
|   |--> alut      : no
|   |__One group of:
|   | |> Ogg,vorbis: no,no
|   | |> SDL,smpeg : no,no
|
|___.* VOIP
|   |--> jvoip     : no
|
|___.* Database
|   |--> ODBC      : no
|
|___.* Misc
    |--> SSL       : no

X11 libraries or headers missing; graphics
not enabled.
Remember to add unicon/bin to your path

c:\work\unicon>make
make Unicon
make[1]: Entering directory `/c/work/unicon'
cd src/common;          make
make[2]: Entering directory `/c/work/unicon/src/common'
gcc -g -O2 -fno-omit-frame-pointer -fno-strict-aliasing -I../libtp -I../gdbm 
-I../xpm  -I/usr/local/include -I/opt/X11/include -I/usr/X11R6/include   -c -o 
doincl.o doincl.c
In file included from ../h/../h/config.h:50:0,
                 from ../h/rt.h:9,
                 from doincl.c:14:
../h/../h/../h/auto.h:219:0: warning: "HAVE_STRERROR" redefined
 #define HAVE_STRERROR 1

In file included from ../h/rt.h:8:0,
                 from doincl.c:14:
../h/../h/define.h:71:0: note: this is the location of the previous definition
 #define HAVE_STRERROR

gcc -g -O2 -fno-omit-frame-pointer -fno-strict-aliasing -I../libtp -I../gdbm 
-I../xpm  -I/usr/local/include -I/opt/X11/include -I/usr/X11R6/include   -c -o 
patchstr.o patchstr.c
In file included from ../h/../h/config.h:50:0,
                 from ../h/rt.h:9,
                 from patchstr.c:21:
../h/../h/../h/auto.h:219:0: warning: "HAVE_STRERROR" redefined
 #define HAVE_STRERROR 1

In file included from ../h/rt.h:8:0,
                 from patchstr.c:21:
../h/../h/define.h:71:0: note: this is the location of the previous definition
 #define HAVE_STRERROR

gcc -L/usr/lib -Lbin -L/usr/lib -L/usr/lib -o doincl doincl.o
doincl.o: In function `doinclude':
c:\work\unicon\src\common/doincl.c:58: undefined reference to `Consolefprintf'
c:\work\unicon\src\common/doincl.c:59: undefined reference to `Consolefprintf'
c:\work\unicon\src\common/doincl.c:75: undefined reference to `Consolefprintf'
c:\work\unicon\src\common/doincl.c:76: undefined reference to `Consolefprintf'
c:\work\unicon\src\common/doincl.c:73: undefined reference to `Consolefprintf'
doincl.o:c:\work\unicon\src\common/doincl.c:44: more undefined references to 
`Consolefprintf' follow
doincl.o: In function `main':
c:\work\unicon\src\common/doincl.c:48: undefined reference to `c_exit'
c:\work\unicon\src\common/doincl.c:40: undefined reference to `Consolefprintf'
c:\work\unicon\src\common/doincl.c:41: undefined reference to `c_exit'
c:\work\unicon\src\common/doincl.c:36: undefined reference to `c_exit'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [common] Error 1
make[2]: Leaving directory `/c/work/unicon/src/common'
make[1]: *** [Common] Error 2
make[1]: Leaving directory `/c/work/unicon'
make: *** [default] Error 2

c:\work\unicon>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Unicon-group mailing list
Unicon-group@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to