Mercurial > pidgin
annotate src/Makefile.mingw @ 4359:5fb47ec9bfe4
[gaim-migrate @ 4625]
Wow, okay, where to begin with this one ;)
I rewrote the whole conversation backend. It is now core/UI split. Here's
how it works..
Every conversation is represented by a gaim_conversation structure. This
branches out into gaim_im and gaim_chat structures. Every conversation
lives in (well, normally, but it doesn't have to) a gaim_window structure.
This is a _CORE_ representation of a window. There can be multiple
gaim_window structures around.
The gaim_window and gaim_conversation structures have UI-specific operation
structures associated with them. At the moment, the only UI is GTK+, and
this will be for some time. Don't start thinking you can write a QT UI now.
It's just not going to happen.
Everything that is done on a conversation is done through the core API.
This API does core processing and then calls the UI operations for the
rendering and anything else.
Now, what does this give the user?
- Multiple windows.
- Multiple tabs per window.
- Draggable tabs.
- Send As menu is moved to the menubar.
- Menubar for chats.
- Some very cool stuff in the future, like replacing, say, IRC chat windows
with an X-Chat interface, or whatever.
- Later on, customizable window/conversation positioning.
For developers:
- Fully documented API
- Core/UI split
- Variable checking and mostly sane handling of incorrect variables.
- Logical structure to conversations, both core and UI.
- Some very cool stuff in the future, like replacing, say, IRC chat windows
with an X-Chat interface, or whatever.
- Later on, customizable window/conversation positioning.
- Oh yeah, and the beginning of a stock icon system.
Now, there are things that aren't there yet. You will see tabs even if you
have them turned off. This will be fixed in time. Also, the preferences
will change to work with the new structure. I'm starting school in 2 days,
so it may not be done immediately, but hopefully in the next week.
Enjoy!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Mon, 20 Jan 2003 09:10:23 +0000 |
parents | b191b8080ebc |
children | 65d98b565fbe |
rev | line source |
---|---|
3638 | 1 # |
2 # Makefile.mingw | |
3 # | |
4 # Description: Makefile for win32 (mingw) version of Gaim | |
5 # | |
6 | |
7 # | |
8 # PATHS | |
9 # | |
10 | |
11 INCLUDE_DIR := . | |
12 GTK_TOP := ../../win32-dev/gtk_2_0 | |
13 GAIM_TOP := .. | |
14 GAIM_SRC := . | |
15 PERL_LIB_DIR := ../../win32-dev/perl56 | |
16 PERL_INCLUDE := $(PERL_LIB_DIR)/CORE | |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
17 ASPELL_TOP := ../../win32-dev/aspell-15 |
4127
00c4040f630f
[gaim-migrate @ 4344]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4042
diff
changeset
|
18 GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.3 |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
19 IDLETRACKER_TOP := $(GAIM_TOP)/src/win32/IdleTracker |
3638 | 20 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir |
3969
020345f97ceb
[gaim-migrate @ 4153]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3947
diff
changeset
|
21 MINGW_PLUS_DIR := $(GAIM_SRC)/win32/mingw_plus |
3638 | 22 |
23 ## | |
24 ## VARIABLE DEFINITIONS | |
25 ## | |
26 | |
27 TARGET = gaim | |
28 | |
29 # Compiler and Linker Options | |
30 | |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
31 CFLAGS = |
3638 | 32 |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
33 DEFINES = |
3638 | 34 |
4191
c626503ac2fc
[gaim-migrate @ 4422]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4127
diff
changeset
|
35 LDFLAGS = -mconsole -mwindows |
3638 | 36 |
37 #-mconsole | |
38 #-mwindows | |
39 | |
40 ## | |
41 ## INCLUDE MAKEFILES | |
42 ## | |
43 | |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
44 include $(GAIM_TOP)/src/win32/global.mak |
3638 | 45 |
46 ## | |
47 ## INCLUDE PATHS | |
48 ## | |
49 | |
50 INCLUDE_PATHS = -I$(INCLUDE_DIR) \ | |
51 -I$(INCLUDE_DIR)/win32 \ | |
3969
020345f97ceb
[gaim-migrate @ 4153]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3947
diff
changeset
|
52 -I$(MINGW_PLUS_DIR) \ |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
53 -I$(IDLETRACKER_TOP) \ |
3638 | 54 -I$(GAIM_TOP) \ |
55 -I$(GTK_TOP)/include \ | |
56 -I$(GTK_TOP)/include/gtk-2.0 \ | |
57 -I$(GTK_TOP)/include/glib-2.0 \ | |
58 -I$(GTK_TOP)/include/pango-1.0 \ | |
59 -I$(GTK_TOP)/include/atk-1.0 \ | |
60 -I$(GTK_TOP)/lib/glib-2.0/include \ | |
61 -I$(GTK_TOP)/lib/gtk-2.0/include \ | |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
62 -I$(PERL_INCLUDE) \ |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
63 -I$(ASPELL_TOP)/include \ |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
64 -I$(GTKSPELL_TOP) |
3638 | 65 |
66 | |
67 LIB_PATHS = -L$(GTK_TOP)/lib \ | |
68 -L$(GAIM_SRC) \ | |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
69 -L$(IDLETRACKER_TOP) \ |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
70 -L$(PERL_LIB_DIR) \ |
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
71 -L$(ASPELL_TOP)/lib \ |
3984
e0f868943dee
[gaim-migrate @ 4175]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3969
diff
changeset
|
72 -L$(GTKSPELL_TOP)/gtkspell |
3638 | 73 |
74 ## | |
75 ## SOURCES, OBJECTS | |
76 ## | |
77 | |
78 DLL_C_SRC = aim.c \ | |
79 about.c \ | |
80 away.c \ | |
81 browser.c \ | |
82 buddy.c \ | |
83 buddy_chat.c \ | |
84 conversation.c \ | |
85 core.c \ | |
86 dialogs.c \ | |
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4300
diff
changeset
|
87 dnd-utils.c \ |
3638 | 88 ft.c \ |
89 gaimrc.c \ | |
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4300
diff
changeset
|
90 gtkconv.c \ |
3638 | 91 gtkimhtml.c \ |
4359
5fb47ec9bfe4
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4300
diff
changeset
|
92 gtkutils.c \ |
3638 | 93 html.c \ |
94 idle.c \ | |
95 list.c \ | |
4191
c626503ac2fc
[gaim-migrate @ 4422]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4127
diff
changeset
|
96 log.c \ |
3638 | 97 md5.c \ |
98 module.c \ | |
99 multi.c \ | |
100 perl.c \ | |
101 prefs.c \ | |
102 proxy.c \ | |
103 prpl.c \ | |
104 server.c \ | |
105 sound.c \ | |
4300
b191b8080ebc
[gaim-migrate @ 4554]
Christian Hammond <chipx86@chipx86.com>
parents:
4191
diff
changeset
|
106 themes.c \ |
3638 | 107 util.c \ |
108 win32/win32dep.c \ | |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
109 win32/MinimizeToTray.c \ |
3947
7cb474d8d613
[gaim-migrate @ 4126]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3905
diff
changeset
|
110 win32/libc_interface.c \ |
4042
a3ec0146c73e
[gaim-migrate @ 4250]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4027
diff
changeset
|
111 win32/systray.c |
3638 | 112 |
113 RC_SRC = win32/gaimrc.rc | |
114 | |
115 EXE_C_SRC = win_aim.c | |
116 | |
117 DLL_OBJECTS = $(DLL_C_SRC:%.c=%.o) | |
118 | |
119 EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) | |
120 | |
121 ## | |
122 ## LIBRARIES | |
123 ## | |
124 | |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
125 DLL_LIBS = -lgtkspell \ |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
126 -lgtk-win32-2.0 \ |
3638 | 127 -lpango-1.0 \ |
128 -lglib-2.0 \ | |
129 -lgdk-win32-2.0 \ | |
130 -lgobject-2.0 \ | |
131 -lintl \ | |
132 -lgmodule-2.0 \ | |
133 -lgdk_pixbuf-2.0 \ | |
134 -lws2_32 \ | |
135 -liberty \ | |
136 -lwinmm \ | |
3853
eddcb3a8c74e
[gaim-migrate @ 4005]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3826
diff
changeset
|
137 -lperl56 \ |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
138 -laspell-15 \ |
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
139 -lIdleTrac |
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
140 |
3638 | 141 |
142 | |
143 EXE_LIBS = -lgaim -lglib-2.0 | |
144 | |
145 ## | |
146 ## RULES | |
147 ## | |
148 | |
149 # How to make a C file | |
150 %.o: %.c | |
151 $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ | |
152 | |
153 # How to make an RC file | |
154 %.o: %.rc | |
155 windres -i $< -o $@ | |
156 | |
157 ## | |
158 ## TARGET DEFINITIONS | |
159 ## | |
160 | |
161 .PHONY: all clean | |
162 | |
163 all: $(TARGET).exe $(TARGET).dll | |
164 | |
165 install: | |
166 cp $(GAIM_SRC)/gaim.exe $(GAIM_SRC)/gaim.dll $(GAIM_INSTALL_DIR) | |
167 | |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
168 $(GAIM_SRC)/win32/IdleTracker/IdleTrac.dll: |
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
169 $(MAKE) -C $(GAIM_SRC)/win32/IdleTracker -f Makefile.mingw |
3638 | 170 |
171 # | |
172 # BUILD DLL | |
173 # | |
174 | |
4018
1e9dbcdf8455
[gaim-migrate @ 4218]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3984
diff
changeset
|
175 $(TARGET).def: $(DLL_OBJECTS) |
3638 | 176 dlltool -D $(TARGET).dll -z $(TARGET).def --export-all-symbols \ |
177 --exclude-symbols WinMain@16 $^ | |
178 | |
4018
1e9dbcdf8455
[gaim-migrate @ 4218]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3984
diff
changeset
|
179 $(TARGET).base: $(DLL_OBJECTS) |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
180 $(CC) -mdll $(LDFLAGS) -o junk.tmp -Wl,--base-file,$@ $(DLL_OBJECTS) $(LIB_PATHS) $(DLL_LIBS) |
3638 | 181 rm -rf junk.tmp |
182 | |
183 $(TARGET).exp: $(TARGET).base $(TARGET).def | |
184 dlltool --dllname $(TARGET).dll --base-file $(TARGET).base \ | |
185 --output-exp $(TARGET).exp --def $(TARGET).def | |
186 | |
4018
1e9dbcdf8455
[gaim-migrate @ 4218]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3984
diff
changeset
|
187 $(TARGET).dll: $(DLL_OBJECTS) $(GAIM_SRC)/win32/IdleTracker/IdleTrac.dll $(TARGET).exp |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
188 $(CC) -mdll $(LDFLAGS) -o $(TARGET).dll $(DLL_OBJECTS) -Wl,$(TARGET).exp $(LIB_PATHS) $(DLL_LIBS) |
3638 | 189 rm -rf $(TARGET).exp $(TARGET).def $(TARGET).base |
190 | |
191 $(TARGET).lib: $(TARGET).def | |
3969
020345f97ceb
[gaim-migrate @ 4153]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3947
diff
changeset
|
192 dlltool -D $(TARGET).dll -d $(TARGET).def -l $(TARGET).lib |
3638 | 193 |
194 # | |
195 # BUILD EXE | |
196 # | |
197 | |
198 $(TARGET).exe: $(TARGET).lib $(EXE_OBJECTS) | |
3715
764d6f1848b2
[gaim-migrate @ 3848]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3638
diff
changeset
|
199 $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(TARGET).exe |
3638 | 200 |
201 ## | |
202 ## CLEAN RULES | |
203 ## | |
204 | |
205 clean: | |
3905
3e508dd31b76
[gaim-migrate @ 4058]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
3853
diff
changeset
|
206 $(MAKE) -C $(GAIM_SRC)/win32/IdleTracker -f Makefile.mingw clean |
3638 | 207 rm -rf *.o ./win32/*.o |
208 rm -rf $(TARGET).dll | |
209 rm -rf $(TARGET).lib | |
210 rm -rf $(TARGET).exe | |
211 | |
212 |