  There is a one-to-one correspondence between $\ell$-quasi-cyclic codes over a
finite field $\mathbb F_q$ and linear codes over a ring $R = \mathbb
F_q[Y]/(Y^m-1)$. Using this correspondence, we prove that every
$\ell$-quasi-cyclic self-dual code of length $m\ell$ over a finite field
$\mathbb F_q$ can be obtained by the {\it building-up} construction, provided
that char $(\mathbb F_q)=2$ or $q \equiv 1 \pmod 4$, $m$ is a prime $p$, and
$q$ is a primitive element of $\mathbb F_p$. We determine possible weight
enumerators of a binary $\ell$-quasi-cyclic self-dual code of length $p\ell$
(with $p$ a prime) in terms of divisibility by $p$. We improve the result of
[3] by constructing new binary cubic (i.e., $\ell$-quasi-cyclic codes of length
$3\ell$) optimal self-dual codes of lengths $30, 36, 42, 48$ (Type I), 54 and
66. We also find quasi-cyclic optimal self-dual codes of lengths 40, 50, and
60. When $m=5$, we obtain a new 8-quasi-cyclic self-dual $[40, 20, 12]$ code
over $\mathbb F_3$ and a new 6-quasi-cyclic self-dual $[30, 15, 10]$ code over
$\mathbb F_4$. When $m=7$, we find a new 4-quasi-cyclic self-dual $[28, 14, 9]$
code over $\mathbb F_4$ and a new 6-quasi-cyclic self-dual $[42,21,12]$ code
over $\mathbb F_4$.
