From: Ivan Zakharyaschev <imz@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] re-writing GNU C; part1.4: .i bug fixed Date: Tue, 9 Feb 2016 21:29:40 +0300 (MSK) Message-ID: <alpine.LFD.2.20.1602092128270.31797@imap.altlinux.org> (raw) In-Reply-To: <alpine.LFD.2.20.1601112119330.4319@ovicaa.localdomain> [-- Attachment #1: Type: text/plain, Size: 5281 bytes --] Пока подготавливал всё для описанной системы (использования cuglify/Process на "инородной" платформе), был поправлен упомянутый minor bug: > Итак, "второй вариант" я осуществил на практике. (С поправкой на то, > что Process не понимал расширения .i входного файла.) Текущее состояние в <http://hub.darcs.net/imz/language-c_WIP>. И я избавился от нескольких вариантов программы, теперь режим работы можно задать через $cuglify (вот одной из этих 4 строк ниже) в отличие от того, что я описывал в инструкциях в первом сообщении. По умолчанию режим -- Uglify, т.е. тот, который задуман как полезный. > patch 1d40ac438dfa206c7a23e647b1eeb3eb910bc055 > Author: Ivan Zakharyaschev <imz@altlinux.org> > Date: Tue Feb 9 16:05:53 MSK 2016 > * examples/Process: now cuglify environment variable controls the debug mode: > > > data DebugMode = SilentlyAnalyse > | PrintAST > | Uglify > | Generate > > No need to maintain several variants of the binary. Обновлённые инструкции по воспроизведению: ========================================== (Последний раздел. Дальше можно не читать. Кстати, готовые варианты исполняемого файла examples/Process кто-то может взять, чтобы не воспроизводить, в vb2:/home/imz/public/cuglify-WIP/language-c_WIP/ .) Инструменты и зависимости: -------------------------- (Напоминание для случая, когда они не установлены) > Побольше всего, чтобы поменьше пересобирать cabal-ом: > > # apt-get install ghc7.6.1-cabal-install ghc7.6.1 ghc7.6.1-darcs ghc7.6.1-language-c ghc7.6.1-happy ghc7.6.1-alex ghc7.6.1-haskell-src ghc7.6.1-mtl > > Устанавливаем новую версию cabal-install с поддержкой sandboxes: > (TODO: упаковать в Sisyphus. См. также <http://altlinux.org/Haskell>) > > $ cabal update > $ cabal install cabal-install > $ ln -s ~/.cabal/bin/cabal ~/bin -v > «/home/imz/bin/cabal» -> «/home/imz/.cabal/bin/cabal» > $ > > После этого нужно, чтобы shell не вызывал старый cabal (можно > по-простому заново зайти). Скачиваем код с хаками ---------------------- $ mkdir cuglify-WIP $ cd cuglify-WIP $ darcs clone http://hub.darcs.net/imz/language-c_WIP $ git clone https://github.com/imz/directory Собираем библиотеку ------------------- Удалим старый sandbox (если остался): $ rm -rf /storage/imz/CABAL-SANDBOX-cuglify Зависимости с хаками: $ pushd directory/ $ cabal sandbox --sandbox=/storage/imz/CABAL-SANDBOX-cuglify init Понял, что надо предварительно поставить свежий filepath (чтобы избежать несовместимых требований библиотек directory и language-c в дальнейшем): $ cabal install filepath Возвращаемся к сборке библиотеки directory: $ autoreconf -i $ cabal install $ popd Наконец, наша библиотека: $ pushd language-c_WIP/ $ cabal sandbox --sandbox=/storage/imz/CABAL-SANDBOX-cuglify init $ cabal install $ popd Компилируем examples/Process ---------------------------- $ pushd language-c_WIP/ $ cabal exec -- make -C examples Process $ popd Тестируем разные варианты ------------------------- $ darcs clone http://hub.darcs.net/imz/cuglify --set-scripts-executable $ pushd cuglify [imz@vb2 cuglify]$ cuglify=PrintAST ./run-tests.sh ../language-c_WIP/examples/Process 2> /dev/null TEST OK on *.i TEST OK on ex-nested.c TEST OK on ex-nested-in-block.c TEST OK on ex-nested-pure.c TEST OK on ex-nested_typemismatch.c TEST OK on ex-nested_undef.c TEST OK on ex-nested-with-id-collisions.c TEST OK on ex-unnested-with-unbound-after-nested.c TEST OK on ex-unnested-with-unbound.c [imz@vb2 cuglify]$ ./run-tests.sh ../language-c_WIP/examples/Process 2> /dev/null TEST OK on *.i TEST OK on ex-nested.c TEST OK on ex-nested-in-block.c TEST OK on ex-nested-pure.c TEST OK on ex-nested_typemismatch.c TEST OK on ex-nested_undef.c TEST OK on ex-nested-with-id-collisions.c TEST OK on ex-unnested-with-unbound-after-nested.c TEST OK on ex-unnested-with-unbound.c [imz@vb2 cuglify]$ (Это сообщение сохранено как [ann1_4.md](http://hub.darcs.net/imz/cuglify/browse/ann1_4.md).) -- Best regards, Ivan
next prev parent reply other threads:[~2016-02-09 18:29 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-01-11 8:48 [devel] re-writing GNU C extensions (part0) Ivan Zakharyaschev 2016-01-11 18:21 ` [devel] re-writing GNU C extensions (part1) Ivan Zakharyaschev 2016-01-12 20:28 ` imz 2016-01-20 10:28 ` imz 2016-01-27 17:59 ` [devel] re-writing GNU C; part1.3.1: how to apply Ivan Zakharyaschev 2016-01-27 18:04 ` [devel] re-writing GNU C; part1.3.2: how to apply (WIP) Ivan Zakharyaschev 2016-02-09 18:29 ` Ivan Zakharyaschev [this message] 2016-02-10 10:30 ` [devel] re-writing GNU C; part1.4: .i bug fixed Ivan Zakharyaschev
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=alpine.LFD.2.20.1602092128270.31797@imap.altlinux.org \ --to=imz@altlinux.org \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git