作者itoc, 信區: itoc
標題[文件] 將 DSO 的部分移除
時間04/02/07
作者: itoc (核心動力) 看板: itoc
標題: Re: 在Solaris下的問題
時間: Wed Nov 19 15:32:17 2003
※ 引述《itoc (核心動力)》之銘言:
> Solaris 的 dso 的都 make 失敗啊
> 那乾脆通通抓去 maple 裡面好了 :p
一、改 src/maple/Makefile
src/so/Makefile 寫著
SO = admutil.so aloha.so bank.so chat.so help.so manage.so newbrd.so \
song.so vote.so xyz.so \
calendar.so classtable.so credit.so jcee.so todo.so
那麼就在 maple/Makefile 加上去對應的 *.c *.o
SRC = acct.c bbsd.c bmw.c board.c cache.c edit.c favor.c \
gem.c mail.c menu.c more.c pal.c post.c talk.c ulist.c \
user.c visio.c window.c xover.c xpost.c \
../so/admutil.c ../so/aloha.c ../so/bank.c ../so/chat.c \
../so/help.c ../so/innbbs.c ../so/manage.c ../so/newbrd.c \
../so/song.c ../so/vote.c ../so/xyz.c \
../so/calendar.c ../so/classtable.c ../so/credit.c \
../so/jcee.c ../so/todo.c
OBJ = acct.o bbsd.o bmw.o board.o cache.o edit.o favor.o \
gem.o mail.o menu.o more.o pal.o post.o talk.o ulist.o \
user.o visio.o window.o xover.o xpost.o \
../so/admutil.o ../so/aloha.o ../so/bank.o ../so/chat.o \
../so/help.o ../so/innbbs.o ../so/manage.o ../so/newbrd.o \
../so/song.o ../so/vote.o ../so/xyz.o \
../so/calendar.o ../so/classtable.o ../so/credit.o \
../so/jcee.o ../so/todo.o
同理 src/game/Makeifle 也是比照辦理
同理 src/pip/Makeifle 也是比照辦理
二、改 src/Makefile
所有的這三行拿掉
@cd so; make xxxx
@cd game; make xxx
@cd pip; make xxxx
變成
# @cd so; make xxxx
# @cd game; make xxxx
# @cd pip; make xxxx
其中 xxxx 包括
sun linux solaris sol-x86 freebsd bsd 及 install
但不包括 clean
三、改 menu.c
menu.c 中的所有 "bin/xxxx.so:yyyy" 都改成 yyyy
拿掉 "" 及 bin/xxxx.so:,以及 - M_XXXX 的 負 拿掉,例如
"bin/admutil.so:a_search", PERM_ALLACCT, - M_SYSTEM,
"Hunt ◤ 搜尋引擎 ◢",
改成
a_search, PERM_ALLACCT, M_SYSTEM,
"Hunt ◤ 搜尋引擎 ◢",
四、改 post.c:post_cb[]
將這四行拿掉
'B' | XO_DL, (void *) "bin/manage.so:post_manage",
'R' | XO_DL, (void *) "bin/vote.so:vote_result",
'V' | XO_DL, (void *) "bin/vote.so:XoVote",
#ifdef HAVE_TERMINATOR
Ctrl('X') | XO_DL, (void *) "bin/manage.so:post_terminator",
#endif
改成
'B', post_manage,
'R', vote_result,
'V', XoVote,
#ifdef HAVE_TERMINATOR
Ctrl('X'), post_terminator,
#endif
五、改所有 DL_get() 及 DL_func 的部分
bbsd.c: DL_func("bin/enews.so:main_enews"); /* 上站閱讀奇摩新聞 */
talk.c: if (DL_func("bin/bwboard.so:vaBWboard", fd, 1) == -2)
talk.c: if (DL_func("bin/bwboard.so:vaBWboard", fd, 0) == -2)
xover.c: DL_func("bin/help.so:vaHelp", path);
依序改成
bbsd.c: main_enews(); /* 上站閱讀奇摩新聞 */
talk.c: if (vaBWboard(fd, 1) == -2)
talk.c: if (vaBWboard(fd, 0) == -2)
xover.c: vaHelp(path);
六、改 src/maple/maple.p
把所有新增的函式加入 maple.p
以上面講到的為例子,那麼就是在 maple.p 中加入
int a_search();
int post_manage();
int vote_result();
int XoVote();
int post_terminator();
int main_enews();
int vaBWboard();
int vaHelp();
...
...
(把所有 so/*.c game/*.c 加入的 non-static 函式都掛上宣告)
---------------------------------------2005/12/09---------------------
int vaHelp();
int vaBWboard();
int post_manage();
int vote_result();
int XoVote();
int post_terminator();
int a_user();
int a_search();
int a_editbrd();
int a_xfile();
int a_resetsys();
int a_register();
int a_regmerge();
int a_restore();
int a_innbbs();
int m_bm();
int m_all();
int t_aloha();
int t_chat();
int XoSongLog();
int XoSongMain();
int XoSongSub();
int main_railway();
int main_liteon();
int guessNum();
int fightNum();
int main_km();
int main_recall();
int main_mine();
int main_fantan();
int main_dragon();
int main_nine();
int main_dice();
int main_gp();
int main_bj();
int main_chessmj();
int main_seven();
int main_race();
int main_bingo();
int main_marie();
int main_bar();
int main_pip();
int main_pushbox();
int main_tetris();
int main_gray();
int x_bank();
int b_invis();
int b_cloak();
int b_mbox();
int b_xempt();
int vote_all();
int x_tip();
int x_loveletter();
int x_password();
int main_classtable();
int main_credit();
int main_todo();
int main_calendar();
int XoNewBoard();
------------------------------------------------------------
--
┌┼ Origin: Maple-itoc˙動力核心 processor.tfcis.org
└┘ Author: itoc 從 pc512-2.ee.nctu.edu.tw 發表精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻