回精華區
作者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翻