[PD-cvs] pd/src makefile.mingw.vst,NONE,1.1.2.1 makefile.nt.vst,NONE,1.1.2.1 g_editor.c,1.1.1.4.2.3.2.15,1.1.1.4.2.3.2.16 m_pd.h,1.1.1.4.2.10.2.4,1.1.1.4.2.10.2.5 s_main.c,1.1.1.4.2.8.4.10,1.1.1.4.2.8.4.11 makefile.vstwin,1.1.2.1,NONE

carmen rocco ix9 at users.sourceforge.net
Wed Apr 21 05:02:48 CEST 2004


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25371

Modified Files:
      Tag: impd_0_37
	g_editor.c m_pd.h s_main.c 
Added Files:
      Tag: impd_0_37
	makefile.mingw.vst makefile.nt.vst 
Removed Files:
      Tag: impd_0_37
	makefile.vstwin 
Log Message:
free microsoft compiler makes much faster binary than mingw........


Index: m_pd.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
retrieving revision 1.1.1.4.2.10.2.4
retrieving revision 1.1.1.4.2.10.2.5
diff -C2 -d -r1.1.1.4.2.10.2.4 -r1.1.1.4.2.10.2.5
*** m_pd.h	17 Apr 2004 21:17:30 -0000	1.1.1.4.2.10.2.4
--- m_pd.h	21 Apr 2004 03:02:46 -0000	1.1.1.4.2.10.2.5
***************
*** 15,20 ****
--- 15,29 ----
  #define PD_DEVEL_VERSION 1  /* T.Grill - mark for devel branch */
  
+ #ifdef MSW
+ #ifdef PD_INTERNAL
+ #define EXTERN __declspec(dllexport) extern
+ #else
+ #define EXTERN __declspec(dllimport) extern
+ #endif
+ #define EXTERN_STRUCT extern struct
+ #else /* external storage, microsoft mess above, gcc below..*/
  #define EXTERN extern
  #define EXTERN_STRUCT struct
+ #endif
  
  #if !defined(_SIZE_T) && !defined(_SIZE_T_)
***************
*** 597,600 ****
--- 606,615 ----
  EXTERN void c_addmess(t_method fn, t_symbol *sel, t_atomtype arg1, ...);
  
+ #if defined(MSW) && !defined(__GNUC__)
+ #define fabsf fabs
+ #define vsnprintf _vsnprintf
+ #define snprintf _snprintf
+ #endif
+ 
  #ifdef VST
  /* jsarlo { */

Index: s_main.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_main.c,v
retrieving revision 1.1.1.4.2.8.4.10
retrieving revision 1.1.1.4.2.8.4.11
diff -C2 -d -r1.1.1.4.2.8.4.10 -r1.1.1.4.2.8.4.11
*** s_main.c	17 Apr 2004 21:17:31 -0000	1.1.1.4.2.8.4.10
--- s_main.c	21 Apr 2004 03:02:46 -0000	1.1.1.4.2.8.4.11
***************
*** 289,292 ****
--- 289,294 ----
  	    console_scrollback,option_look,option_statusbar,rcfilename?rcfilename:"");
  #ifdef VST
+     if (sys_externalschedlib)
+       {
          typedef int (*t_externalschedlibmain)(char *);
          t_externalschedlibmain externalmainfunc;
***************
*** 303,307 ****
          externalmainfunc = (t_externalschedlibmain)GetProcAddress(ntdll,"main");
          ret = (*externalmainfunc)(sys_extraflagsstring);
! #else    
  	    /* open audio and MIDI */
      sys_open_midi(sys_nmidiin, sys_midiindevlist,
--- 305,310 ----
          externalmainfunc = (t_externalschedlibmain)GetProcAddress(ntdll,"main");
          ret = (*externalmainfunc)(sys_extraflagsstring);
!       }
! #else
  	    /* open audio and MIDI */
      sys_open_midi(sys_nmidiin, sys_midiindevlist,

Index: g_editor.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
retrieving revision 1.1.1.4.2.3.2.15
retrieving revision 1.1.1.4.2.3.2.16
diff -C2 -d -r1.1.1.4.2.3.2.15 -r1.1.1.4.2.3.2.16
*** g_editor.c	19 Apr 2004 17:29:58 -0000	1.1.1.4.2.3.2.15
--- g_editor.c	21 Apr 2004 03:02:41 -0000	1.1.1.4.2.3.2.16
***************
*** 952,958 ****
      int run, shift, alt, rightclick;
      int x1, y1, x2, y2, clickreturned = 0;
-     canvas_modifiers(x,mod,doit,&run,&shift,&alt,&rightclick);
      t_gobj *y;
      t_editor *e = x->gl_editor;
      if (!e) {bug("editor"); return;}
      
--- 952,959 ----
      int run, shift, alt, rightclick;
      int x1, y1, x2, y2, clickreturned = 0;
      t_gobj *y;
      t_editor *e = x->gl_editor;
+     canvas_modifiers(x,mod,doit,&run,&shift,&alt,&rightclick);
+ 
      if (!e) {bug("editor"); return;}
      

--- NEW FILE: makefile.mingw.vst ---
VPATH = ../obj:./
INSTDIR = ..
OBJ_DIR = $(INSTDIR)/obj
BIN_DIR = $(INSTDIR)/bin

PDEXEC = pd.exe
GUINAME= pdtcl.dll
DLLWRAP= dllwrap

GFLAGS = -DINSTALL_PREFIX=\"$(INSTDIR)\"

MORECFLAGS =

INCLUDE =  
GINCLUDE = $(INCLUDE) -I../tcl/include

LDFLAGS = -lpthreadGC -lwsock32 -lwinmm /lib/tcl85.lib /lib/tk85.lib
LIB =   -lm

OPT_CFLAGS = 
WARN_CFLAGS = -Wall -W -Wstrict-prototypes  \
    -Wno-unused-parameter -Wno-parentheses -Wno-switch
ARCH_CFLAGS = -DPD -DVST -DMSW -DDONTUSESIMD \

CFLAGS += $(ARCH_CFLAGS) $(WARN_CFLAGS) $(OPT_CFLAGS) $(MORECFLAGS)

# the sources

SYSSRC += s_audio_mmio.c s_midi_mmio.c
SRSRC = u_pdsend.c u_pdreceive.c
GSRC =  t_main.c t_tkcmd.c
VSRC =  s_audio_vst.c
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 \
    g_toggle.c g_vumeter.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_audio.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_mayer_fft.c d_fftroutine.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_qlist.c x_gui.c \
    d_soundfile.c m_simd_sse_vc.c m_simd_sse_gcc.c m_simd_ve_gcc.c \
    $(SYSSRC)

OBJ = $(SRC:.c=.o) 
GOBJ = $(GSRC:.c=.o)
VOBJ = $(VSRC:.c=.o)
SROBJ = $(SRSRC:.c=.o) 
OBJC = $(OBJ)

#
#  ------------------ targets ------------------------------------
#

.PHONY: all

all: $(OBJ_DIR)/$(GUINAME) $(OBJ_DIR)/$(PDDLL) $(OBJ_DIR)/$(PDEXEC) \
    $(OBJ_DIR)/pdsend.exe $(OBJ_DIR)/pdreceive.exe \
    $(OBJ_DIR)/vstschedlib.dll $(OBJ_DIR)/pd.tk

$(OBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 

$(GOBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(GFLAGS) $(GINCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 

$(SROBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 

$(VOBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 

$(OBJ_DIR)/pdsend.exe: u_pdsend.o
	cd $(OBJ_DIR); $(CC) $(CFLAGS)  $(STRIPFLAG) -o pdsend.exe u_pdsend.o $(LDFLAGS)

$(OBJ_DIR)/pdreceive.exe: u_pdreceive.o
	cd $(OBJ_DIR); $(CC) $(CFLAGS)  $(STRIPFLAG) -o pdreceive.exe u_pdreceive.o $(LDFLAGS)

$(OBJ_DIR)/$(PDEXEC): s_entry.o
	cd $(OBJ_DIR); $(CC) -o $(PDEXEC) s_entry.o $(LIB) pd.a $(LDFLAGS) -mwindows

$(OBJ_DIR)/$(PDDLL): $(OBJC)
	cd $(OBJ_DIR); $(DLLWRAP) --export-all-symbols --output-def pd.def \
	--output-lib=pd.a --dllname=pd.dll $(OBJC) pdtcl.a $(LDFLAGS)

$(OBJ_DIR)/$(GUINAME): t_tkcmd.o
	cd $(OBJ_DIR); $(DLLWRAP) --export-all-symbols --output-def pdtcl.def \
	--output-lib=pdtcl.a --dllname=$(GUINAME) t_tkcmd.o $(LDFLAGS)

$(OBJ_DIR)/vstschedlib.dll: s_audio_vst.o
	cd $(OBJ_DIR); $(DLLWRAP) --export-all-symbols --output-def vst.def \
	--output-lib=vst.a --dllname=vstschedlib.dll s_audio_vst.o pd.a $(LDFLAGS)

$(OBJ_DIR)/pd.tk: u_main.tk
	echo set pd_nt 1 > $(OBJ_DIR)/pd.tk
	grep -v "set pd_nt" < u_main.tk >> $(OBJ_DIR)/pd.tk

install:  all
	install -d $(INSTDIR)/bin
	install $(OBJ_DIR)/*.exe $(BIN_DIR)
	install $(OBJ_DIR)/*.dll $(BIN_DIR)
	install -m644 $(OBJ_DIR)/pd.tk $(BIN_DIR)/pd.tk
	install -m644 u_object.tk $(BIN_DIR)/u_object.tk

clean:
	-rm -f $(OBJ_DIR)/*.o $(OBJ_DIR)/*.a $(OBJ_DIR)/*.def
	-rm -f $(OBJ_DIR)/*.exe $(OBJ_DIR)/*.dll $(OBJ_DIR)/*.tk
	-rm -f $(PADIR)/pablio/*.o $(PADIR)/pa_common/*.o
	-rm -f makefile.dependencies
	touch makefile.dependencies
	chmod 666 makefile.dependencies

distclean: clean
	rm -rf config.cache config.log config.status makefile tags \
	     autom4te-*.cache
	echo all: > makefile
	echo -e  "\t./configure" >> makefile
	echo -e "\tmake" >> makefile

tags: $(SRC) $(GSRC); ctags *.[ch]

depend: 
	$(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies

uninstall:
	-rm $(INSTDIR)/bin/pd*.exe
	-rm $(INSTDIR)/bin/pd*.dll
	-rm $(INSTDIR)/bin/*.tk

include makefile.dependencies

--- NEW FILE: makefile.nt.vst ---
# Makefile for PD on MSW

all: pd gui ..\bin\pd.tk ..\bin\u_object.tk ..\bin\pdsend.exe ..\bin\pdreceive.exe ..\bin\vstschedlib.dll

VC = c:\program\vc2003

INCLUDE = -I$(VC)\include -I..\portaudio\pa_common -I..\portaudio\pablio

LDIR = $(VC)\lib

LIB = /NODEFAULTLIB:libc /NODEFAULTLIB:oldnames  /NODEFAULTLIB:kernel \
    $(LDIR)\libc.lib $(LDIR)\oldnames.lib $(LDIR)\kernel32.lib \
    $(LDIR)\uuid.lib $(LDIR)\wsock32.lib $(LDIR)\winmm.lib $(LDIR)\pthreadVC.lib

GLIB =  $(LIB)  $(LDIR)\tcl85.lib  $(LDIR)\tk85.lib
CFLAGS =/nologo /W3 /Ox /DPD /DPD_INTERNAL /DVST /DMSW /DDONTUSESIMD
LFLAGS = /nologo

SYSSRC = s_audio_mmio.c s_midi_mmio.c

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 \
    g_toggle.c g_vumeter.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_audio.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_mayer_fft.c d_fftroutine.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_qlist.c x_gui.c d_soundfile.c \
    $(SYSSRC)

OBJC = $(SRC:.c=.obj)

GSRC =  t_main.c t_tkcmd.c

GOBJ = $(GSRC:.c=.obj)
.PHONY: pd gui

ALLCF = $(CFLAGS) $(INCLUDE)

.c.obj:
	cl /c $(ALLCF) /Tc$*.c

pd: ..\bin\pd.exe

gui: ..\bin\pdtcl.dll

..\bin\pd.exe: s_entry.obj ..\bin\pd.lib
	link $(LFLAGS) /out:..\bin\pd.exe /INCREMENTAL:NO s_entry.obj \
	    ..\bin\pd.lib $(LIB)

..\bin\pd.dll ..\bin\pd.lib: $(OBJC)
	link $(LFLAGS) /dll /export:sys_main /out:..\bin\pd.dll $(OBJC) $(LIB) 
..\bin\pdtcl.dll: t_tkcmd.obj
	link $(LFLAGS) /dll /export:Pdtcl_Init /out:..\bin\pdtcl.dll \
	    t_tkcmd.obj $(GLIB)

..\bin\pd.tk: u_main.tk; copy u_main.tk ..\bin\pd.tk
..\bin\u_object.tk: u_object.tk; copy u_object.tk ..\bin\u_object.tk

..\bin\pdsend.exe: u_pdsend.obj
	link $(LFLAGS) /out:..\bin\pdsend.exe /INCREMENTAL:NO u_pdsend.obj \
	    $(LIB)

..\bin\pdreceive.exe: u_pdreceive.obj
	link $(LFLAGS) /out:..\bin\pdreceive.exe /INCREMENTAL:NO \
	u_pdreceive.obj $(LIB)

..\bin\vstschedlib.dll: ..\bin\pd.lib s_audio_vst.obj
s_audio_vst.obj: s_audio_vst.c
	cl /I$(VC)\include /c /W3 /DMSW /DVST /DWIN32 /DWINDOWS /Ox /TC s_audio_vst.c
	link /nologo /dll /export:main ..\bin\pd.lib /out:..\bin\vstschedlib.dll \
	$(LIB) s_audio_vst.obj

clean:
	del *.obj


--- makefile.vstwin DELETED ---





More information about the Pd-cvs mailing list