[PD-dev] compile pd with cygwin

Hans-Christoph Steiner hans at eds.org
Mon Dec 3 06:59:34 CET 2007


On Dec 2, 2007, at 7:16 PM, Patrice Colet wrote:

> Hello!
>
>  I've added -mno-cygwin and -I/cygdrive/c/Mingw/include -L/cygdrive/ 
> c/Mingw/lib because:
>
> 1° The __WIN32 flag doesn't work with cygwin

Cygwin isn't a WIN32 platform, technically, so it doesn't define  
_WIN32.  And careful about the exact spelling, it has to have only  
one leading underscore.  Here's a bit more on this topic:

http://lists.boost.org/Archives/boost/2004/07/68241.php

Well, I can understand being annoyed by this, but it is possible,  
given enough time ;).  I think the best outcome would be to be able  
to build the MinGW version using the Cygwin tools (i.e. -mno- 
cygwin.).   The msys shell and tools is limited comparitively.

But something that is very useful and quite a bit easier would be  
getting the ./configure stuff to work in the MinGW shell so we can  
have a unified build interface.  It's very close, I've gotten it to  
build like that a couple of years ago.

.hc

> 2° there is a cruel conflict with errno.h cygwin version.
>
> So it's not possible to compile with cygwin without mingw, unless  
> using  voodoo...
>
>  Also the dllwrap doesn't seem to work good with cygwin, because  
> the built pd.exe is linked to cygwin1.dll (with using cygwin only),  
> else, I suspect that it causes many other errors, see an example of  
> error it might cause below (after the diffs), I just suppose that  
> we can't use both a def file (see dllwrap) and dll<import/export>  
> (see m_pd.h), obviously I might be wrong (it won't be surprising).
>
> ===================================================================
>
> $ diff -uw configure.in.old configure.in
> --- configure.in.old    2007-11-04 23:08:24.000000000 +0100
> +++ configure.in        2007-12-03 00:04:37.578125000 +0100
> @@ -341,7 +341,7 @@
>  if test `uname -s` == MINGW32_NT-5.0;
>  then
>      EXT=dll
> -    MORECFLAGS="-DUSEAPI_PORTAUDIO -DPA19 -DMSW -DPA_NO_DS - 
> DPD_INTERNAL \
> +    MORECFLAGS="-DUSEAPI_PORTAUDIO -DUSEAPI_PORTMIDI -DPA19 -DMSW - 
> DPA_NO_DS -D
> PD_INTERNAL \
>          -I../portaudio/pa_common -I../portaudio/pablio \
>          -mwindows -mms-bitfields "$MORECFLAGS
>      PDLIB=$PDLIB" -lwsock32 -lwinmm -lole32 -lstdc++"
> @@ -368,6 +368,49 @@
>      GUIFLAGS=
>  fi
>
> +if test `uname -s` == CYGWIN_NT-5.1;
> +then
> +    EXT=dll
> +    MORECFLAGS="-mno-cygwin -DUSEAPI_PORTAUDIO  -DPA_LITTLE_ENDIAN  
> -DPA19 \
> +       -I/cygdrive/c/Mingw/include -L/cygdrive/c/Mingw/lib \
> +       -I../portaudio/pa_common -I../portaudio/pablio \
> +       -I../portaudio/pa_asio \
> +       -I../portmidi/pm_common -I../portmidi/porttime \
> +       -I../portmidi/pm_win -I../portmidi/pm_win_ds \
> +    -mms-bitfields "$MORECFLAGS
> +
> +    PDLIB=$PDLIB" -lwsock32 -lwinmm -lole32 -lstdc++"
> +
> +    SYSSRC="s_midi_pm.c  \
> +       s_audio_pa.c s_audio_pablio.c s_audio_paring.c \
> +        ../portaudio/pa_common/pa_allocation.c  \
> +        ../portaudio/pa_common/pa_converters.c  \
> +        ../portaudio/pa_common/pa_cpuload.c     \
> +        ../portaudio/pa_common/pa_dither.c      \
> +        ../portaudio/pa_common/pa_front.c       \
> +        ../portaudio/pa_common/pa_process.c     \
> +        ../portaudio/pa_common/pa_skeleton.c    \
> +        ../portaudio/pa_common/pa_stream.c      \
> +        ../portaudio/pa_common/pa_trace.c       \
> +        ../portaudio/pa_win/pa_win_util.c       \
> +        ../portaudio/pa_win/pa_win_hostapis.c   \
> +        ../portaudio/pa_win_wmme/pa_win_wmme.c  \
> +        ../portaudio/pa_win_ds/pa_win_ds.c      \
> +        ../portaudio/pa_win_ds/dsound_wrapper.c      \
> +                   ../portmidi/pm_common/pmutil.c      \
> +            ../portmidi/pm_common/portmidi.c    \
> +            ../portmidi/pm_win/pmdll.c          \
> +            ../portmidi/pm_win/pmwin.c          \
> +            ../portmidi/pm_win/pmwinmm.c        \
> +            ../portmidi/porttime/ptwinmm.c"
> +
> +        ASIOSRC="../portaudio/pa_asio/iasiothiscallresolver.cpp \
> +        ../portaudio/pa_asio/pa_asio.cpp ../asio/asio.cpp \
> +        ../asio/asiodrivers.cpp ../asio/asiolist.cpp"
> +    STRIPFLAG="--strip-unneeded"
> +    GUINAME="pdtcl.dll"
> +    GUIFLAGS=
> +fi
>  # support for jack, on either linux or darwin:
>
>  if test x$jack == "xyes";
>
>
> ====================================================================
> $ diff -uw makefile.in.old makefile.in
> --- makefile.in.old     2007-11-04 23:08:24.000000000 +0100
> +++ makefile.in 2007-12-03 00:54:34.750000000 +0100
> @@ -12,6 +12,10 @@
>  EXT= @EXT@
>  GUINAME= @GUINAME@
>
> +PDEXEC_WIN = pd.exe
> +GUINAME_WIN = pdtcl.dll
> +DLLWRAP= dllwrap
> +
>  prefix = @prefix@
>  exec_prefix = @exec_prefix@
>  bindir = @bindir@
> @@ -49,6 +53,8 @@
>
>  ASIOOBJ = $(ASIOSRC:.cpp=.o)
>
> +
> +
>  SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c  
> g_template.c g_io.c \
>      g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c  
> g_editor.c \
>      g_all_guis.c g_bang.c g_hdial.c g_hslider.c g_mycanvas.c  
> g_numbox.c \
> @@ -147,9 +153,15 @@
> @executable_path/../Frameworks/Tk.framework/Versions/8.4/Tk \
>                 ../bin/libPdTcl.dylib
>
> -# this is for Windows/MinGW (only?)
> +# this is for cygwin
> +#$(BIN_DIR)/pdtcl.dll: $(GOBJ)
> +#      cd $(BIN_DIR); echo EXPORTS > pdtcl.def
> +#      nm pdtcl.dll | grep ' T _' | sed 's/.* T _//' >> pdtcl.def
> +#      dlltool --def pdtcl.def --dllname pdtcl.dll --output-lib  
> pdtcl.a
> +
> +# this is for mingw
>  $(BIN_DIR)/pdtcl.dll: $(GOBJ)
> -       cd $(BIN_DIR); dllwrap --export-all-symbols --output-def  
> pdtcl.def \
> +       dllwrap  --export-all-symbol --output-def pdtcl.def \
>         --output-lib=pdtcl.a --dllname=$(GUINAME) $(OBJ_DIR)/ 
> t_tkcmd.o $(LIB) $(
> GLIB)
>         strip --strip-unneeded $(BIN_DIR)/pdtcl.dll
>
> @@ -203,17 +215,18 @@
>         @echo "Pd install succeeded."
>
>  local-clean:
> -       -rm -f ../obj/* $(BIN_DIR)/pd $(BIN_DIR)/$(GUINAME) $ 
> (BIN_DIR)/pdsend \
> -           $(BIN_DIR)/pdreceive $(BIN_DIR)/pd-watchdog m_stamp.c
> +       -rm -f ../obj/* $(BIN_DIR)/pd* $(BIN_DIR)/$(GUINAME) $ 
> (BIN_DIR)/pdsend*
> \
> +           $(BIN_DIR)/pdreceive* $(BIN_DIR)/pd-watchdog m_stamp.c
>         -rm -f `find ../portaudio -name "*.o"`
>         -rm -f *~
> -       -(cd ../doc/6.externs; rm -f *.pd_linux)
> +       -(cd ../doc/6.externs; rm -f *.pd_linux; rm -f *.dll)
>         -rm -f makefile.dependencies
>         touch makefile.dependencies
>         chmod 666 makefile.dependencies
>
>  extra-clean:
>         -rm -f `find ../extra/ -name "*.pd_*"`
> +       -rm -f `find ../extra/ -name "*.dll*"`
>         -rm -f tags
>
>  clean: extra-clean local-clean
> @@ -229,7 +242,7 @@
>  depend: makefile.dependencies
>
>  makefile.dependencies: makefile
> -       $(CC) $(CPPFLAGS) -M $(SRC) > makefile.dependencies
> +       $(CC) $(CFLAGS) -M $(SRC) > makefile.dependencies
>
>  uninstall:
>         rm -f -r $(libpddir)
>
> ====================================================================== 
> =
>
> $ diff -uw d_array.c.old d_array.c
> --- d_array.c.old       2007-11-04 23:08:24.000000000 +0100
> +++ d_array.c   2007-12-03 00:31:56.453125000 +0100
> @@ -507,7 +507,7 @@
>  #define int32 long  /* a data type that has 32 bits */
>  #endif /* IRIX */
>
> -#ifdef MSW
> +#ifdef __WIN32
>      /* little-endian; most significant byte is at highest address */
>  #define HIOFFSET 1
>  #define LOWOFFSET 0
> =====================================================================
> $ diff -uw d_osc.c.old d_osc.c
> --- d_osc.c.old 2007-01-19 07:37:56.000000000 +0100
> +++ d_osc.c     2007-12-02 22:05:43.343750000 +0100
> @@ -7,7 +7,6 @@
>
>  #include "m_pd.h"
>  #include "math.h"
> -
>  #define UNITBIT32 1572864.  /* 3*2^19; bit 32 has place value 1 */
>
>      /* machine-dependent definitions.  These ifdefs really
> @@ -19,7 +18,7 @@
>  #define int32 long  /* a data type that has 32 bits */
>  #endif /* IRIX */
>
> -#ifdef MSW
> +#ifdef __WIN32
>      /* little-endian; most significant byte is at highest address */
>  #define HIOFFSET 1
>  #define LOWOFFSET 0
> ======================================================================
> $ diff -uw g_canvas.c.old g_canvas.c
> --- g_canvas.c.old      2007-12-02 22:49:55.265625000 +0100
> +++ g_canvas.c  2007-12-02 22:50:44.156250000 +0100
> @@ -757,7 +757,7 @@
>              /* test if we're already visible and toplevel */
>          if (x->gl_editor)
>          {           /* just put us in front */
> -#ifdef MSW
> +#ifdef __WIN32
>              canvas_vis(x, 0);
>              canvas_vis(x, 1);
>  #else
> ====================================================================
> $ diff -uw m_binbuf.c.old m_binbuf.c
> --- m_binbuf.c.old      2007-12-02 22:27:03.531250000 +0100
> +++ m_binbuf.c  2007-12-02 22:27:44.453125000 +0100
> @@ -10,7 +10,7 @@
>  #ifdef UNISTD
>  #include <unistd.h>
>  #endif
> -#ifdef MSW
> +#ifdef __WIN32
>  #include <io.h>
>  #endif
>  #include <fcntl.h>
> @@ -697,7 +697,7 @@
>  static int binbuf_doopen(char *s, int mode)
>  {
>      char namebuf[MAXPDSTRING];
> -#ifdef MSW
> +#ifdef __WIN32
>      mode |= O_BINARY;
>  #endif
>      sys_bashfilename(s, namebuf);
> ==================================================================
> $ diff -uw m_glob.c.old m_glob.c
> --- m_glob.c.old        2007-12-01 20:36:16.671875000 +0100
> +++ m_glob.c    2007-12-01 22:32:12.468750000 +0100
> @@ -35,7 +35,7 @@
>  void alsa_resync( void);
>
>
> -#ifdef MSW
> +#ifdef _WIN32
>  void glob_audio(void *dummy, t_floatarg adc, t_floatarg dac);
>  #endif
> ===================================================================
> $ diff -uw m_pd.h.old m_pd.h
> --- m_pd.h.old  2007-12-02 22:43:07.109375000 +0100
> +++ m_pd.h      2007-12-03 00:02:57.578125000 +0100
> @@ -13,10 +13,10 @@
>  #define PD_BUGFIX_VERSION 3
>  #define PD_TEST_VERSION "extended-20071104"
>
> -/* old name for "MSW" flag -- we have to take it for the sake of  
> many old
> -"nmakefiles" for externs, which will define NT and not MSW */
> -#if defined(NT) && !defined(MSW)
> -#define MSW
> +/* old name for "__WIN32" flag -- we have to take it for the sake  
> of many old
> +"nmakefiles" for externs, which will define NT and not __WIN32 */
> +#if defined(NT) && !defined(__WIN32)
> +#define __WIN32
>  #endif
>
>  /* These pragmas are only used for MSVC, not MinGW or Cygwin  
> <hans at at.or.at> */
>
> @@ -27,8 +27,8 @@
>  #pragma warning( disable : 4101 )  /* unused automatic variables */
>  #endif /* _MSC_VER */
>
> -    /* the external storage class is "extern" in UNIX; in MSW it's  
> ugly. */
> -#ifdef MSW
> +    /* the external storage class is "extern" in UNIX; in __WIN32  
> it's ugly. */
>
> +#ifdef __WIN32
>  #ifdef PD_INTERNAL
>  #define EXTERN __declspec(dllexport) extern
>  #else
> @@ -36,7 +36,7 @@
>  #endif /* PD_INTERNAL */
>  #else
>  #define EXTERN extern
> -#endif /* MSW */
> +#endif /* __WIN32 */
>
>      /* and depending on the compiler, hidden data structures are
>      declared differently: */
> ======================================================================
> $ diff -uw s_stuff.h.old s_stuff.h
> --- s_stuff.h.old       2007-11-04 23:08:24.000000000 +0100
> +++ s_stuff.h   2007-12-02 22:34:13.375000000 +0100
> @@ -181,7 +181,7 @@
>  #define API_DEFAULT API_OSS
>  #define API_DEFSTRING "OSS"
>  #endif
> -#ifdef MSW
> +#ifdef __WIN32
>  #define API_DEFAULT API_MMIO
>  #define API_DEFSTRING "MMIO"
>  #endif
> @@ -201,7 +201,7 @@
>  #define DEFMIDIDEV 0
>
>  #define DEFAULTSRATE 44100
> -#ifdef MSW
> +#ifdef __WIN32
>  #define DEFAULTADVANCE 70
>  #else
>  #define DEFAULTADVANCE 50
> @@ -282,8 +282,8 @@
>  typedef void (*t_printhook)(const char *s);
>  extern t_printhook sys_printhook;  /* set this to override  
> printing */
>  extern int sys_printtostderr;
> -#ifdef MSW
> -#define vsnprintf  _vsnprintf /* jsarlo -- alias this name for msw */
> +#ifdef __WIN32
> +#define vsnprintf  _vsnprintf /* jsarlo -- alias this name for  
> __WIN32 */
>  #endif
>
>  /* jsarlo { */
> ====================================================================== 
> ==
> $ diff -uw t_tkcmd.c.old t_tkcmd.c
> --- t_tkcmd.c.old       2007-12-02 03:11:59.500000000 +0100
> +++ t_tkcmd.c   2007-12-03 00:52:53.640625000 +0100
> @@ -2,7 +2,7 @@
>  * For information on usage and redistribution, and for a  
> DISCLAIMER OF ALL
>  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
>
> -#ifndef MSW     /* in unix this only works first; in MSW it only  
> works last. */
>
> +#ifndef __WIN32     /* in unix this only works first; in __WIN32  
> it only works
> last. */
>  #include "tk.h"
>  #endif
>
> @@ -13,7 +13,7 @@
>  #include <stdarg.h>
>  #include <sys/types.h>
>
> -#ifndef MSW
> +#ifndef __WIN32
>  #include <unistd.h>
>  #include <sys/socket.h>
>  #include <netinet/in.h>
> @@ -26,7 +26,7 @@
>  #include <errno.h>
>  #include <fcntl.h>
>  #endif
> -#ifdef MSW
> +#ifdef __WIN32
>  #include <winsock.h>
>  #include <io.h>
>  #endif
> @@ -38,7 +38,7 @@
>  #pragma warning( disable : 4101 )  /* unused local variables */
>  #endif
>
> -#ifdef MSW
> +#ifdef __WIN32
>  #include "tk.h"
>  #endif
>
> @@ -87,10 +87,10 @@
>
>  static void pdgui_sockerror(char *s)
>  {
> -#ifdef MSW
> +#ifdef __WIN32
>      int err = WSAGetLastError();
>  #endif
> -#ifndef MSW
> +#ifndef __WIN32
>      int err = errno;
>  #endif
>
> @@ -229,7 +229,7 @@
>      }
>  }
>
> -#ifdef MSW
> +#ifdef __WIN32
>      /* if we're in Gatesland, we add a tcl command to poll the
>      socket for data.  */
>  static int pd_pollsocketCmd(ClientData cd, Tcl_Interp *interp,
> @@ -242,7 +242,7 @@
>
>  static void pd_sockerror(char *s)
>  {
> -#ifdef MSW
> +#ifdef __WIN32
>      int err = WSAGetLastError();
>      if (err == 10054) return;
>      else if (err == 10044)
> @@ -261,12 +261,12 @@
>  {
>      struct sockaddr_in server;
>      struct hostent *hp;
> -#ifndef MSW
> +#ifndef __WIN32
>      int retry = 10;
>  #else
>      int retry = 1;
>  #endif
> -#ifdef MSW
> +#ifdef __WIN32
>      short version = MAKEWORD(2, 0);
>      WSADATA nobby;
>
> @@ -307,7 +307,7 @@
>            retry. */
>          else
>          {
> -#ifndef MSW
> +#ifndef __WIN32
>              fd_set readset, writeset, exceptset;
>              struct timeval timout;
>
> @@ -319,16 +319,16 @@
>              fprintf(stderr, "retrying connect...\n");
>              if (select(1, &readset, &writeset, &exceptset,  
> &timout) < 0)
>                  perror("select");
> -#endif /* !MSW */
> +#endif /* !__WIN32 */
>          }
>      }
>      pdgui_sockerror("connecting stream socket");
>  gotit: ;
> -#ifndef MSW
> -        /* normally we ask TK to call us back; but in MSW we have  
> to poll. */
> +#ifndef __WIN32
> +        /* normally we ask TK to call us back; but in __WIN32 we  
> have to poll.
> */
>      Tk_CreateFileHandler(sockfd, TK_READABLE | TK_EXCEPTION,
>          pd_readsocket, 0);
> -#endif /* !MSW */
> +#endif /* !__WIN32 */
>  }
>
>  #ifdef STARTGUI
> @@ -351,7 +351,7 @@
>      int ntry = 0, portno = FIRSTPORTNUM;
>      int xsock = -1;
>      char morebuf[256];
> -#ifdef MSW
> +#ifdef __WIN32
>      short version = MAKEWORD(2, 0);
>      WSADATA nobby;
>      char scriptbuf[1000], wishbuf[1000], portbuf[80];
> @@ -376,7 +376,7 @@
>      fprintf(stderr, "pdbuf is %s\n", pdbuf);
>  #endif
>
> -#ifdef MSW
> +#ifdef __WIN32
>      if (WSAStartup(version, &nobby))
>          pd_sockerror("WSAstartup");
>  #endif
> @@ -398,7 +398,7 @@
>          /* name the socket */
>      while (bind(xsock, (struct sockaddr *)&server, sizeof(server))  
> < 0)
>      {
> -#ifdef MSW
> +#ifdef __WIN32
>          int err = WSAGetLastError();
>  #else
>          int err = errno;
> @@ -440,7 +440,7 @@
>      }
>  #endif /* UNISTD */
>
> -#ifdef MSW
> +#ifdef __WIN32
>
>  #error not yet used.... sys_bashfilename() not filled in here
>
> @@ -458,7 +458,7 @@
>          return;
>      }
>
> -#endif /* MSW */
> +#endif /* __WIN32 */
>
>  #ifdef DEBUGCONNECT
>          fprintf(stderr, "Waiting for connection request... \n");
> @@ -470,18 +470,18 @@
>          fprintf(stderr, "... connected\n");
>  #endif
>
> -#ifndef MSW
> -        /* normally we ask TK to call us back; but in MSW we have  
> to poll. */
> +#ifndef __WIN32
> +        /* normally we ask TK to call us back; but in __WIN32 we  
> have to poll.
> */
>      Tk_CreateFileHandler(sockfd, TK_READABLE | TK_EXCEPTION,
>          pd_readsocket, 0);
> -#endif /* !MSW */
> +#endif /* !__WIN32 */
>  }
>
>  #endif /* STARTGUI */
>
>  static void pdgui_setupsocket(void)
>  {
> -#ifdef MSW
> +#ifdef __WIN32
>          pdgui_connecttosocket();
>  #else
>      if (pd_portno)
> @@ -545,10 +545,10 @@
>      }
>  }
>
> -    /* in linux, we load the tk code from here (in MSW and MACOS,  
> this
> +    /* in linux, we load the tk code from here (in __WIN32 and  
> MACOS, this
>      is done by passing the name of the file as a startup argument to
>      the wish shell.) */
> -#if !defined(MSW) && !defined(__APPLE__)
> +#if !defined(__WIN32) && !defined(__APPLE__)
>  void pdgui_doevalfile(Tcl_Interp *interp, char *s)
>  {
>      char buf[GUISTRING];
> @@ -580,18 +580,18 @@
>          /* add our own TK commands */
>      Tcl_CreateCommand(interp, "pd",  (Tcl_CmdProc*)pdCmd,  
> (ClientData)NULL,
>          (Tcl_CmdDeleteProc *)NULL);
> -#ifdef MSW
> +#ifdef __WIN32
>      Tcl_CreateCommand(interp, "pd_pollsocket",(Tcl_CmdProc*)  
> pd_pollsocketCmd,
>
>          (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL);
>  #endif
>      pdgui_setupsocket();
>          /* read in the startup file */
> -#if !defined(MSW) && !defined(__APPLE__)
> +#if !defined(__WIN32) && !defined(__APPLE__)
>      pdgui_evalfile("pd.tk");
>  #endif
>  }
>
> -#ifndef MSW
> +#ifndef __WIN32
>  void pdgui_setname(char *s)
>  {
>      char *t;
> @@ -619,11 +619,11 @@
>  {
>      const char *argv = Tcl_GetVar(interp, "argv", 0);
>      int portno, argno = 0;
> -        /* argument passing seems to be different in MSW as  
> opposed to
> +        /* argument passing seems to be different in __WIN32 as  
> opposed to
>          unix-likes.  Here we check if we got sent a "port number"  
> as an
>          argument.  If so. we're to connect to a previously running  
> pd (i.e.,
>          pd got started first).  If not, we start Pd from here. */
> -#ifdef MSW
> +#ifdef __WIN32
>      if (argv && (portno = atoi(argv)) > 1)
>  #else
>      char *firstspace;
> ====================================================================
> $ diff -uw x_list.c.old x_list.c
> --- x_list.c.old        2007-12-02 21:47:52.312500000 +0100
> +++ x_list.c    2007-12-02 21:47:16.187500000 +0100
> @@ -4,7 +4,7 @@
>
>  #include "m_pd.h"
>  /* #include <string.h> */
> -#ifdef MSW
> +#ifdef __WIN32
>  #include <malloc.h>
>  #else
>  #include <alloca.h>
> ====================================================================== 
> =
> $ diff -uw x_net.c.old x_net.c
> --- x_net.c.old 2007-12-02 21:37:51.468750000 +0100
> +++ x_net.c     2007-12-02 21:45:07.453125000 +0100
> @@ -9,7 +9,7 @@
>
>  #include <sys/types.h>
>  #include <string.h>
> -#ifdef MSW
> +#ifdef __WIN32
>  #include <winsock.h>
>  #else
>  #include <sys/socket.h>
> =============================================================
> $ diff -uw x_qlist.c.old x_qlist.c
> --- x_qlist.c.old       2007-12-02 21:48:07.875000000 +0100
> +++ x_qlist.c   2007-12-02 21:45:46.921875000 +0100
> @@ -7,7 +7,7 @@
>  #ifdef UNISTD
>  #include <unistd.h>
>  #endif
> -#ifdef MSW
> +#ifdef __WIN32
>  #include <io.h>
>  #endif
> ===========================================================
>
> $ make distclean && autoconf && ./configure && make
> rm -f `find ../extra/ -name "*.pd_*"`
> rm -f tags
> rm -f ../obj/* ../bin/pd ../bin/pdtcl.dll ../bin/pdsend \
>             ../bin/pdreceive ../bin/pd-watchdog m_stamp.c
> rm: ne peut enlever `../obj/CVS': Is a directory
> make: [local-clean] Erreur 1 (ignor'ee)
> rm -f `find ../portaudio -name "*.o"`
> rm -f *~
> (cd ../doc/6.externs; rm -f *.pd_linux; rm -f *.dll)
> rm -f makefile.dependencies
> touch makefile.dependencies
> chmod 666 makefile.dependencies
> rm -f config.cache config.log config.status makefile tags \
>                 autom4te.cache/output.* autom4te.cache/traces.*  
> autom4te.cache/r
> equests
> rmdir autom4te.cache
> rm -rf autom4te-*.cache
> checking for gcc... gcc
> checking for C compiler default output file name... a.exe
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables... .exe
> 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 for a BSD-compatible install... /usr/bin/install -c
> checking whether make sets $(MAKE)... yes
> checking how to run the C preprocessor... gcc -E
> checking for an ANSI C-conforming const... yes
> 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 for pid_t... yes
> checking for size_t... yes
> checking whether time.h and sys/time.h may both be included... yes
> checking for ANSI C header files... (cached) yes
> checking fcntl.h usability... yes
> checking fcntl.h presence... yes
> checking for fcntl.h... yes
> checking limits.h usability... yes
> checking limits.h presence... yes
> checking for limits.h... yes
> checking malloc.h usability... yes
> checking malloc.h presence... yes
> checking for malloc.h... yes
> checking sys/ioctl.h usability... yes
> checking sys/ioctl.h presence... yes
> checking for sys/ioctl.h... yes
> checking sys/time.h usability... yes
> checking sys/time.h presence... yes
> checking for sys/time.h... yes
> checking for unistd.h... (cached) yes
> checking bstring.h usability... no
> checking bstring.h presence... no
> checking for bstring.h... no
> checking whether gcc needs -traditional... no
> checking return type of signal handlers... void
> checking for vprintf... yes
> checking for _doprnt... no
> checking for gettimeofday... yes
> checking for select... yes
> checking for socket... yes
> checking for strerror... yes
> checking for working alloca.h... yes
> checking for alloca... yes
> checking for dlopen in -ldl... yes
> checking for sin in -lffm... no
> checking for sin in -lm... yes
> checking for pthread_create in -lpthread... no
> checking for pthread_create in -lpthreadGC2... yes
> checking tcl.h usability... yes
> checking tcl.h presence... yes
> checking for tcl.h... yes
> checking for main in -ltcl85... no
> checking for main in -ltcl8.5... no
> checking for main in -ltcl84... yes
> checking for main in -ltk85... no
> checking for main in -ltk8.5... no
> checking for main in -ltk84... yes
> checking for special C compiler options needed for large files... no
> checking for _FILE_OFFSET_BITS value needed for large files... no
> configure: creating ./config.status
> config.status: creating makefile
> config.status: WARNING:  makefile.in seems to ignore the -- 
> datarootdir setting
> cc -g -O2 -DPD  -Wall -W -Wstrict-prototypes -Wno-unused -Wno- 
> parentheses -Wno-s
> witch  -mno-cygwin -DUSEAPI_PORTAUDIO  -DPA_LITTLE_ENDIAN -DPA19 -I/ 
> cygdr
> ive/c/Mingw/include -L/cygdrive/c/Mingw/lib     -I../portaudio/ 
> pa_common -I../po
> rtaudio/pablio  -I../portaudio/pa_asio  -I../portmidi/pm_common - 
> I../portmidi/po
> rttime  -I../portmidi/pm_win -I../portmidi/pm_win_ds     -mms- 
> bitfields  -M g_ca
> nvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c  
> g_scalar.c g_t
> raversal.c g_guiconnect.c g_readwrite.c g_editor.c g_all_guis.c  
> g_bang.c g_hdial
> .c g_hslider.c g_mycanvas.c g_numbox.c g_toggle.c g_vdial.c  
> g_vslider.c g_vumete
> r.c m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c  
> m_conf.c m_glob.c m_
> sched.c s_main.c s_inter.c s_file.c s_print.c s_loader.c s_path.c  
> s_entry.c s_au
> dio.c s_midi.c d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c  
> d_dac.c d_misc
> .c d_math.c d_fft.c d_array.c d_global.c d_delay.c d_resample.c  
> x_arithmetic.c x
> _connective.c x_interface.c x_midi.c x_misc.c x_time.c  
> x_acoustics.c x_net.c x_q
> list.c x_gui.c x_list.c d_soundfile.c s_midi_pm.c        
> s_audio_pa.c s_audio_pab
> lio.c s_audio_paring.c         ../portaudio/pa_common/ 
> pa_allocation.c        .
> ./portaudio/pa_common/pa_converters.c ../portaudio/pa_common/ 
> pa_cpuload
> .c             ../portaudio/pa_common/pa_dither.c ../portaudio/pa_c
> ommon/pa_front.c               ../portaudio/pa_common/ 
> pa_process.c        .
> ./portaudio/pa_common/pa_skeleton.c ../portaudio/pa_common/pa_stream.
> c              ../portaudio/pa_common/pa_trace.c ../portaudio/pa_w
> in/pa_win_util.c               ../portaudio/pa_win/ 
> pa_win_hostapis.c        .
> ./portaudio/pa_win_wmme/pa_win_wmme.c ../portaudio/pa_win_ds/ 
> pa_win_ds.
> c              ../portaudio/pa_win_ds/dsound_wrapper.c     ../p
> ortmidi/pm_common/pmutil.c                  ../portmidi/pm_common/ 
> portmidi.c
>             ../portmidi/pm_win/pmdll.c ../portmidi/pm_win/p
> mwin.c                      ../portmidi/pm_win/pmwinmm.c     ../p
> ortmidi/porttime/ptwinmm.c d_fft_mayer.c d_fftroutine.c >  
> makefile.dependencies
> cc -g -O2 -DPD  -Wall -W -Wstrict-prototypes -Wno-unused -Wno- 
> parentheses -Wno-s
> witch  -mno-cygwin -DUSEAPI_PORTAUDIO  -DPA_LITTLE_ENDIAN -DPA19 -I/ 
> cygdr
> ive/c/Mingw/include -L/cygdrive/c/Mingw/lib     -I../portaudio/ 
> pa_common -I../po
> rtaudio/pablio  -I../portaudio/pa_asio  -I../portmidi/pm_common - 
> I../portmidi/po
> rttime  -I../portmidi/pm_win -I../portmidi/pm_win_ds     -mms- 
> bitfields  -DINSTA
> LL_PREFIX=\"/usr/local\"  -c -o ../obj/g_canvas.o g_canvas.c
> g_canvas.c:58: erreur: un 'el'ement de l'initialisation n'est pas  
> une constante
> g_canvas.c:59: erreur: un 'el'ement de l'initialisation n'est pas  
> une constante
> g_canvas.c:574: attention : << canvas_makebindsym >> d'efini  
> localement apr`es a
> voir 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:677: attention : << canvas_redraw >> d'efini localement  
> apr`es avoir
> 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:749: attention : << canvas_vis >> d'efini localement  
> apr`es avoir 'et
> 'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:847: attention : << glist_isvisible >> d'efini  
> localement apr`es avoi
> r 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:852: attention : << glist_istoplevel >> d'efini  
> localement apr`es avo
> ir 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:1043: attention : << canvas_loadbang >> d'efini  
> localement apr`es avo
> ir 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:1221: attention : << canvas_isabstraction >> d'efini  
> localement apr`e
> s avoir 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:1252: attention : << canvas_getrootfor >> d'efini  
> localement apr`es a
> voir 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:1344: attention : << canvas_suspend_dsp >> d'efini  
> localement apr`es
> avoir 'et'e r'ef'erenc'e avec lien dllimport.
> g_canvas.c:1351: attention : << canvas_resume_dsp >> d'efini  
> localement apr`es a
> voir 'et'e r'ef'erenc'e avec lien dllimport.
> make: *** [g_canvas.o] Erreur 1
>
> ====================================================================== 
> ====
>
> I have to give up for the moment, even if I've just replaced MSW  
> with __WIN32 and added a few lines of codes to configure.in and  
> makefile.in, it took me too much time for no satisfying results.
>
> Let the sun be with you,
> Patko.



------------------------------------------------------------------------ 
----

I have the audacity to believe that peoples everywhere can have three  
meals a day for their bodies, education and culture for their minds,  
and dignity, equality and freedom for their spirits.      - Martin  
Luther King, Jr.






More information about the Pd-dev mailing list