On Thu, May 25, 2017 08:09, Simon Geard wrote:
> On Wed, 2017-05-24 at 15:14 +0000, William Harrington wrote:
>> In the past I have attempted to use topological sorting (tsort). This
>> method takes a bit of time if you start with an App with a lot of
>> deps. A rought example through book and required/recommended deps and
>> coming up with something for Vim (have to work through the circular
>> deps):
>>
>
> And the easiest way to implement a topo sort is to re-use Make, since
> translating a dependency graph into a linear ordering is pretty much
> what Make is designed for. That's how my B/LFS system used to be
> maintained... a script to generate a Makefile from sources like the
> books.
>
> Simon.--

Hello Simon,

So pretty much like this right? Can work around circular deps real well
with Make.

cat Makefile
vim: Gtk2 GPM Lua Python2 Ruby
        @echo vim

Gtk2: Atk2 Gdk-pixbuf Pango hicolor-icon-theme
        @echo Gtk2

Atk2: GLib
        @echo Atk2

Gdk-pixbuf: GLib libjpeg-turbo Libpng libTIFF Xorg-Libs
        @echo Gdk-pixbuf

Pango: Fontconfig GLib Cairo Xorg-Libs
        @echo Pango

Cairo: Libpng Pixman Fontconfig GLib Xorg-Libs
        @echo Cairo

Pixman:
        @echo Pixman

hicolor-icon-theme:
        @echo hicolor-icon-theme

Fontconfig: FreeType2-HarfBuzz
        @echo Fontconfig

FreeType2-HarfBuzz: HarfBuzz Libpng Which
        @echo FreeType2

FreeType2:
        @echo FreeType2

HarfBuzz: GLib ICU FreeType2
        @echo HarfBuzz

ICU: LLVM-Clang

LLVM-Clang: CMake Libffi Python2
        @echo LLVM-Clang

CMake: cURL libarchive
        @echo CMake

cURL: CACerts OpenSSL
        @echo cURL

libarchive: libXML2 LZO OpenSSL
        @echo libarchive

libXML2: Python2
        @echo libXML2

LZO:
        @echo LZO

Which:
        @echo Which

Xorg-Libs: Fontconfig libxcb
        @echo Xorg-Libs

libxcb: libXau xcb-proto libXdmcp
        @echo libxcb

libXau: Xorg-proto
        @echo libXau

xcb-proto: Python2 Xorg-build-env
        @echo xcb-proto

libXdmcp: Xorg-proto
        @echo libXdmcp

GLib: Libffi Python2 PCRE
        @echo GLib

PCRE:
        @echo PCRE

Libffi:
        @echo Libffi

Xorg-proto: util-macros Sudo Wget-OpenSSL
        @echo Xorg-proto

util-macros: Xorg-build-env
        @echo util-macros

Xorg-build-env:
        @echo Xorg-build-env

Sudo:
        @echo Sudo

Wget:
        @echo Wget

Wget-OpenSSL: Wget CACerts OpenSSL Python3
        @echo Wget-OpenSSL

CACerts: OpenSSL Wget

OpenSSL:
        @echo OpenSSL

Python3: Libffi
        @echo Python3

Python2: Libffi
        @echo Python2

GPM:
        @echo GPM

Lua:
        @echo Lua

Ruby: Libffi OpenSSL
        @echo Ruby

libjpeg-turbo: NASM Yasm
        @echo libjpeg-turbo

Libpng:
        @echo Libpng

libTIFF:
        @echo libTIFF

NASM:
        @echo NASM

Yasm: Python2
        @echo Yasm

Output:

Libffi
Python2
PCRE
GLib
Atk2
NASM
Yasm
libjpeg-turbo
Libpng
libTIFF
OpenSSL
Wget
cURL
libXML2
LZO
libarchive
CMake
LLVM-Clang
FreeType2
HarfBuzz
Which
FreeType2
Fontconfig
Xorg-build-env
util-macros
Sudo
Python3
Wget-OpenSSL
Xorg-proto
libXau
xcb-proto
libXdmcp
libxcb
Xorg-Libs
Gdk-pixbuf
Pixman
Cairo
Pango
hicolor-icon-theme
Gtk2
GPM
Lua
Ruby
vim

Sincerely,

William
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to